System.out.print kontra System.out.println


(Kozielartur) #1

Ostatni wiersz kodu podanego poniżej wyświetla się wraz z poprzednim i nie chce zacząć od nowego wiersza pomimo,że łącze print z ln =println i nie reaguje :

class ZB1 {

public static void main(String [] args) {

int x=0;

while(x<1) {

System.out.print("a");

if(x<1){

System.out.print(" n");

}

x=x+2;

if(x>1) {

System.out.print("asz");

}

x=x-1;

}

if(x==1);{

System.out.println("an");

}

}

}

To jest ten kod i wynik to :

"a naszan" gdzie "an" powinno być wyświetlone w nowym wierszu.Ale pozostaje w starym...Czy ktoś wie gdzie tkwi problem???? Dzięki za odpowiedź...


(Tomek Matz) #2
  1. Zacznij używać wcięcia (takiego kodu nie da się czytać).

  2. Zacznij używać

  3. Wynik tego kodu jest dobry. println powoduje wyświetlenie tekstu i dodanie znaku nowej linii. Dopiero następny tekst zostałby wyświetlony w nowej linii.


([alex]) #3

masz zbędny średnik:

if(x==1);{

czyli "an" z enterem wypiszę się zawsze.


(Tomek Matz) #4

Słuszna uwaga. Nie wiem jak mogłem tego średnika nie zauważyć. Nie zmienia to jednak tego, że nawet gdyby go nie było to i tak w tym kodzie "an" wypisze się zawsze.

@ArchiJavaError

Skoro już edytowałeś swój post to mogłeś dodać te wcięcia i ten

-,-.

(Xds) #5

Problem tkwi w tym, że nie rozumiesz zasady działania metody System.out.println. Spróbuj

System.out.print("\nan");

lub

System.out.println("asz");