2013-12-16 19 views
0

我想輸入字符串s和整數n,然後打印字符串sn次。我已經這樣做了,但我希望每行只有2個字符串。 這裏是我到目前爲止的代碼:我該如何限制打印在單行上的字符串數量

public static void main(String[]args){ 

    Scanner in = new Scanner(System.in); 
    System.out.println("Please enter string: "); 
    String s = in.nextLine(); 
    System.out.println("Please enter number: "); 
    int n = in.nextInt(); 

    for(int j=0; j<n; j++){ 
     System.out.println(s); 

    } 

    if(n<0){ 
     System.out.println("error: number must be positive"); 
    } 

} 

假設字符串爲java和數量爲6。我需要它輸出:

java java 
java java 
java java 

回答

0

創建一個簡單的計數器,在你的for循環中計數到兩個。達到兩個之後。添加一個返回字符。

int count = 0; 
for(int j=0; j<n; j++){ 
    System.out.print(s); 
    count++; 
    if (count == 2) { 
     System.out.print("\n"); 
     count = 0; 
    } 
} 
3

使用模運算符(%)來檢查,如果你的循環索引是整除2.

public static void main(String[]args){ 

    Scanner in = new Scanner(System.in); 
    System.out.println("Please enter string: "); 
    String s = in.nextLine(); 
    System.out.println("Please enter number: "); 
    int n = in.nextInt(); 

    for(int j=1; j<n+1; j++){ 
     System.out.print(s); 
     if (j%2==0) 
      System.out.println("\n"); 
     else 
      System.out.print(" "); 
    } 

    if(n<0){ 
     System.out.println("error: number must be positive"); 
    } 

    } 

編輯我改變了輸出使用print(),而不是println()並添加一個空空間,所以輸出格式爲你的問題的例子。還將for循環索引更改爲一個基於這樣mod正常工作。

0
public static void main(String[]args){ 

    Scanner in = new Scanner(System.in); 
    System.out.println("Please enter string: "); 
    String s = in.nextLine(); 
    System.out.println("Please enter number: "); 
    int n = in.nextInt(); 

    for(int j=0; j<n; j++){ 

    // modified 
    if(j%2==0 && j!=0){ 
     System.out.println("\n"); 
     } 
    System.out.print(s); // Should this not be print and not println 
     System.out.print(" "); 

    // end of modification 

    } 

    if(n<0){ 
     System.out.println("error: number must be positive"); 
    } 
} 
0
for(int j=0; j<n/2; j++){ 
     System.out.println(s+" "+s); 
} 
0

試試這個代碼

public static void main(String[]args){ 

    Scanner in = new Scanner(System.in); 
    System.out.println("Please enter string: "); 
    String s = in.nextLine(); 
    System.out.println("Please enter number: "); 
    int n = in.nextInt(); 

    for(int j=0; j<n/2; j++){ 
     System.out.print(s + " " + s + "\n"); 
    } 
    if(n%2 == 1){ 
     System.out.print(s); 
    } 

    if(n<0){ 
     System.out.println("error: number must be positive"); 
    } 
}