2016-03-16 282 views
-1

這是基本的編程,但我仍然不完全確定如何創建一個空行每隔5行。請幫忙!謝謝!在Java中,如何爲每第5行打印一個空行?

public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 

    System.out.println("please enter an integer for the length"); 
    int theLength = input.nextInt(); 
    System.out.println("Please enter an integer for the height"); 
    int theHeight = input.nextInt(); 
    System.out.println("Please enter a character"); 
    String character1 = input.next(); 


    // int character = Integer.toString(character1); 

    for (int i = 0; i < theHeight; i++) {  //the outer loop controls the row 


     for (int j = 0; j < theLength; j++) {// inner loop control 
      if (j % 6 != 0) { //creates a space for ever 5 character 
       System.out.print(character1 + " "); 
      } else System.out.print(" "); 

     } 
     System.out.println(); 
    } 
} 
+2

目前還不清楚你問這裏。請提供預期與實際產出,您遇到的具體問題以及您的問題的**明確**描述。 – bcsb1001

+0

目前尚不清楚您是否試圖在每五排或每六排創建一個空間。 – shmosel

+0

@Paula你可以看看我的解決方案。 – user3437460

回答

0

如果我理解你的問題,你可以改變你的elseprint(" ")println;像

if(j%6!=0){ //creates a space for ever 5 character 
    System.out.print(character1 + " "); 
} else { 
    System.out.println(); 
} 
1

println("...")方法打印字符串,並把光標移到新的生產線,但print("...")方法,而不是隻打印字符串,但不將光標移動到新行。

希望它有幫助!

0

你的循環從零開始,因此該行0是整除5太:如果滿足那麼你的條件修改爲循環如下:

for (int i = 0; i < theHeight; i++) { // the outer loop controls the row 
      for (int j = 0; j < theLength; j++) {// inner loop control 
       if (i % 5 != 0) { // creates a space for ever 5 character 
        System.out.print(character1 + " "); 
       } else { 
        System.out.print(" "); 
       } 

      } 
      System.out.println(); 
     } 
0

我怎麼能打印空白行每第五排?

根據你的代碼,在我看來,你想每隔ň字符後,創建一個空白行,ñ後未行..

無論是你想在n行或者列後打印空格或換行符,你只需要一個循環。


打印一個換行符每5個字符:

int height = 3, length = 5; 
String myChar = "A"; 

for(int x=0; x<height * length; x++){ 
    System.out.print(myChar + " "); 
    if((x+1) % length == 0) // (x+1) so the it won't print newline on first iteration 
     System.out.println(); 
} 
  • height * length得到字符的總數要打印
  • (x+1),因爲你的X從0開始, 0 % 0 = 0

輸出:

A A A A A 
A A A A A 
A A A A A