簡體   English   中英

將java中的數字重復到下一行

[英]Repeating number in java to next line

我有一個Java程序,可以從這樣的文件中讀取

6樂趣。 3你好10 <> 2 25 4哇!

數字表示該單詞重復的次數,因此輸出將是fun.fun.fun.fun.fun.fun。

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);
        }  
     }
  }
}  

我一直在玩input.nextLine()和諸如此類的東西,但是在打印重復的單詞之后不明白如何到達下一行。 救命?

for (int i = 1; i <= times; i++) {  
           System.out.print(word);
} 
System.out.println(); 

在一行中打印所有相同的單詞后打印一行。

    for (int i = 1; i <= times; i++) {  
       System.out.print(word);
    } 
    System.out.println();

您可以使用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的使用,比傳統的字符串連接更快,消耗更少的內存。

使你的功能如下

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);
    }  
   System.out.println();
 }
}

問題:

我正在一條線上打印

解:

因為您已經使用了System.out.print() ,所以它將在同一行上打印所有內容。 如果你想要一個換行符,那么使用System.out.println()

使用System.out.println在單獨的行上打印單詞:

的System.out.println(數據)

在內部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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM