有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

if语句将java中的数字重复到下一行

我有一个Java程序,可以读取这样的文件

6有趣。3你好10<&燃气轮机;2254哇

该数字表示该单词将重复多少次,以便输出正确 享乐享乐享乐享乐享乐有趣

hellohellohello

<><><><><><><><><><> 

2525

wow!wow!wow!wow!

然而,我的是在一行上打印所有内容

import java.io.*;
import java.util.*;

public class Words {
   public static void main(String[] args)
     throws FileNotFoundException {
  Scanner input = new Scanner(new File("aa1234.txt"));
     printStrings(input);  
   }

   public static void printStrings(Scanner input) {
     while (input.hasNext)) {
        int times = input.nextInt();
        String word = input.next(); 
        for (int i = 1; i <= times; i++) {  
           System.out.print(word);
        }  
     }
  }
}  

我一直在玩弄输入法。nextLine()等等,但不知道在打印出重复的单词后如何进入下一行。帮忙


共 (6) 个答案

  1. # 1 楼答案

    for (int i = 1; i <= times; i++) {  
               System.out.print(word);
    } 
    System.out.println(); 
    
  2. # 2 楼答案

    可以使用System.out.print("\n")打印行尾

    像这样:

    while (input.hasNext)) {
        int times = input.nextInt();
        String word = input.next(); 
        for (int i = 1; i <= times; i++) {  
           System.out.print(word);
        }  
        System.out.print("\n");
     }
    

    您还可以使用System.out.println()打印一行并自动附加一行结束符。例如,在打印字符串之前先生成字符串:

     while (input.hasNext)) {
        int times = input.nextInt();
        String word = input.next();
        StringBuilder builder = new StringBuilder();
        for (int i = 1; i <= times; i++) {  
           builder.append(word);
        }  
        System.out.println(builder.toString());
     }
    

    请注意StringBuilder的使用,它比经典字符串串联更快,占用的内存更少

  3. # 3 楼答案

    在内部for循环后打印新行。像这样的

    while (input.hasNext()) 
    {
       int times = input.nextInt();
       String word = input.next(); 
       for (int i = 1; i <= times; i++) {  
       System.out.print(word);
       }  
       System.out.println();
    }
    
  4. # 5 楼答案

    在一行中打印所有相同的单词后再打印一行

        for (int i = 1; i <= times; i++) {  
           System.out.print(word);
        } 
        System.out.println();
    
  5. # 6 楼答案

    问题:

    我的是一行打印

    解决方案:

    因为您使用了System.out.print(),所以使用它可以在同一行打印所有内容。如果想换行,请使用System.out.println()