siggivara Skrevet 23. oktober 2008 Del Skrevet 23. oktober 2008 Jeg lurer på hvordan jeg kan skrive ut en linje som varierer hvor mange mellomrom som skal være mellom to ting. Noe sånt som det her: System.out.println("Hei" + en variabel av mellomrom her + "sann"); Mellomrommet mellom "Hei" og "sann" vil her variere alt ettersom hva variablens verdi er. Lenke til kommentar
Snorre123 Skrevet 23. oktober 2008 Del Skrevet 23. oktober 2008 String space(int n){ String spaces = ""; for(int i = 0; i < n; i++){ spaces = spaces + " "; } return spaces; } Noe slikt kanskje? Så oppretter du bare variabelen med foreks. String s = space(10), og bruker s som variabel i eksempelkoden din. #Snorre Lenke til kommentar
pgdx Skrevet 23. oktober 2008 Del Skrevet 23. oktober 2008 Hvis du skal gjøre det på Snorres vis, bruk en StringBuilder. Ellers kan du sikkert bruke noe printf-magi. Lenke til kommentar
Gjest Skrevet 28. oktober 2008 Del Skrevet 28. oktober 2008 bruk printf("%-4d", <det du vil ha printet ut>); 4 = deklarerer at det er 4 plasser svaret skal ta. d = deklarerer at det er tall s = tekst.. Lenke til kommentar
sygard Skrevet 28. oktober 2008 Del Skrevet 28. oktober 2008 Så langt jeg vet støtter ikke java sin printf funksjon en variabel bredde [width] i sin format syntaks - enda... I c kan man gjøre slik: int i; int number = 111; for(i=0;i<10;i++) printf("Test %*d\n",i,number); stjernen foran 'd' i printf-kommandoen spesifiserer (minimum) bredde som printf skal bruke da den skriver ut den spesifiserte variabelen. Denne kan da endres på som en vanlig variabel. Testet dette i java, men fikk en "java.util.UnknownFormatConversionException: Conversion = '*'" Det finnes klasser som klarer dette for java, men dette er klasser som ikke kommer i java sitt standard bibliotek. Kom over denne: printf 3.0 men orket ikke å utforske det videre. Det enkleste vil nok være å lage en funksjon som tar seg av dette. Du kan f.eks lage en statisk funksjon som wrapper System.out.printn eller printf der du sender med ønsket antall blanke. Lenke til kommentar
x871kx6167ss7 Skrevet 3. november 2008 Del Skrevet 3. november 2008 Tja, kanskje ikke den peneste måten.... Men funker da. int i; int number = 111; String s; for (i = 1; i < 10; i++) { s = String.format("Test %%%dd\n", i); System.out.printf(s, number); } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå