Gå til innhold

Legge til en variabel av mellomrom i System.out.println()


Anbefalte innlegg

Skrevet

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.

Videoannonse
Annonse
Skrevet

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

Skrevet

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..

Skrevet

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.

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...