2014-01-10 66 views
-2

我試圖在與編號相同的行上得到5的println的倍數,但它不工作在a.t.m.,它會在下一行中打印。該代碼使用for循環,這使得任何人都有任何建議更難。試圖在1行上獲取2條打印語句

public static void main(String[] args) 
{ 
    for(int i=1 ; i<101; i++) 
    { 

    System.out.println(" " +i); 

    if ( i % 2 != 0 && i % 5 == 0) 

     System.out.print("This is an odd number and a multiple of 5 \n "); 

    } 

    }//main 
+6

使用'System.out.print(「」+ i);'使用'println()',您用行分隔符結束該行。正如[doc](http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html#println(java.lang.String))所示:_「打印一個字符串,然後這個方法的行爲就像調用print(String)然後println()一樣''# –

+0

'System.out.println'增加'\ n',所以使用'System.out.print'在同一行上打印 –

回答

4

只需使用的System.out.print(" " +i);代替System.out.println(" " +i);

println()終止該行與\n

+3

請注意'System.out.print(「這是一個奇數和5的倍數\ n」);''可以通過System.out.println(「這是一個奇數和5的倍數」)來簡化。 ;' –

+0

@鄒鄒是的。這是 –

+2

用'\ n'_來終止行並不總是正確的,因爲換行符是依賴於系統的。 – Keppil

2

System.out.println總是結束當前行。在您的代碼中,在println(" " + i)之後,光標已移至新行。你應該用print打印數字,然後打印空格字符,無論你想要什麼字符串,然後結束這一行。你可以用println來完成。如果您不想在同一行上打印任何特定的內容(例如,因爲數字不是5的倍數),那麼您仍然需要以空行println結束該行。

請不要打印\n字符。使用像println這樣的方法代替它們,因爲它們是跨平臺兼容的。

public static void main(String[] args) 
{ 
    for(int i=1 ; i<101; i++) 
    { 
    System.out.print(i); 

    if(i % 2 != 0 && i % 5 == 0) 
     System.out.println(" This is an odd number and a multiple of 5"); 
    else 
     System.out.println(); 
    } 
}//main 
-1
public static void main(String[] args){ 
    for(int i=1 ; i<101; i++){  
    System.out.print(" " +i);  
    if ( i % 2 != 0 && i % 5 == 0) { 
     System.out.print("This is an odd number and a multiple of 5 \n");  
     } 
    } 
} 

println - 在新的一行>打印。因此如果要在同一行中打印,請刪除ln

+0

下一次正確格式化您的代碼當你發佈一個問題或答案時。 –

+0

要做的最好的事情是添加一個別名,現在就開始工作,謝謝! – user2980885

+0

_「println - >以新行打印」_這是不正確的。它不會以新行打印。它追加行分隔符,並且下一次調用print()(或者'println()')將會變成一行。如你所說,這意味着print(); println();將和println(); print();具有相同的行爲,這是錯誤的。 – user2336315