streng - Sådan opdateres konsoludgangen i java?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal opdatere min konsol.



  Her er et eksempelkode:



public class Tester {
    public static void main(String[] args) {
        System.out.print("abcd
");
        System.out.print("efgh");
        System.out.print("


ijkl");
}
}


Min output:


abcd
ijkl


Forventet output:


ijkl
efgh


Jeg har også prøvet dette:


        System.out.print("abcd
");
        System.out.print("efgh
");
        System.out.print("33[0;0H");//33[0;0H is an escape sequence to positioning the console cursor(Referred From Internet).
        System.out.print("ijkl");


For ovenstående kode er udgangen:


abcd
efgh
←[0;0Hijkl


Mens jeg prøver online compiler ovenstående kode fungerer fint.
se her [13]


Men det virker ikke i Windows og Linux OS


Vær venlig at fortælle mig, hvilken ændring jeg skal gøre for at få mit forventede output.


Tak allesammen.

Bedste reference


Du er nødt til at lære forskel mellem char bogstavelig og . Det varierer fra system til system. Mens begge er brugt i samme forstand, arbejder de dog anderledes. fungerer som en vognretur. Det skub blot markøren tilbage til starten af ​​linjen. I dit tilfælde er det lige efterligner det samme scenario.


Når kompilatoren kompilerer dette stykke kode
System.out.print("abcd ");//udskriver abcd på konsollen.
System.out.print("efgh");//udskriver efgh på konsollen.
System.out.print(" ijkl")//tager markøren i starten af ​​linjen, overskriver tidligere tegn og udskriver ijkl på konsol henholdsvis.
Så hvis du bruger , så prøv at bruge `System.out.println ', da det vil udskrive bogstaverne i den nye linje. Selvom det stadig vil flytte markøren til starten af ​​linjen først. Men det vil implicit udskrive tegn på anden linje.


For mere information, se dette spørgsmål

Andre referencer 1


For at se forskellen mellem \ r og \ n skal du køre din kode fra en kommandoprompt. Eclipse's Console (og lignende for andre IDE'er) simulerer ikke opførelsen af ​​en fuld terminal og vil flytte til den næste linje for både \ r og \ n. På kommandolinjen vil dog kun rulle markøren tilbage til begyndelsen af ​​den nuværende linje.