7 svar
31 visningar
Tomte123 är nöjd med hjälpen!
Tomte123 107
Postad: 26 apr 2019

Chars

Hej!

Jag ska skriva en for-loop i java som skriver ut bokstäverna a -> e efter varandra, som separata chars.

Hur kan man göra det? Jag vet att varje tecken har ett eget nummer enligt unicode tabellen (a -> z, nr 97-122), men hur kommer man åt det?

Har en början:

for (int c = 'a'; 

Laguna 4682
Postad: 26 apr 2019 Redigerad: 26 apr 2019

Du behöver kanske (jag har inte Java på mina fem fingrar) inte koden för dem, utan kan använda 'char' genomgående i stället för 'int':

 

for (char c = 'a'; ...

 

Edit: kollade just, det är så.

Tomte123 107
Postad: 26 apr 2019

Okej, jag tänker också det... men det är en uppgift jag gör och "int c =" stod med i början som man sedan skulle bygga vidare på...

Och om man använder "char c = 'a' " osv så har väl for-loopen inget syfte egentligen?

Laguna 4682
Postad: 26 apr 2019
Tomte123 skrev:

Okej, jag tänker också det... men det är en uppgift jag gör och "int c =" stod med i början som man sedan skulle bygga vidare på...

Och om man använder "char c = 'a' " osv så har väl for-loopen inget syfte egentligen?

Åhå. Då kan du "casta" med (int) och (char) från den ena typen till den andra.

Jo, loopen är helt analog. Är det så få tecken som a till e behöver man förstås ingen loop, men nu har du ju en.

Tomte123 107
Postad: 26 apr 2019

Vad innebär "casta"?

Laguna 4682
Postad: 26 apr 2019
Tomte123 skrev:

Vad innebär "casta"?

Läs här t.ex.: https://syntaxdb.com/ref/java/type-cast.

Tomte123 107
Postad: 26 apr 2019

Jaha, jo det känner jag till hur man gör, men hur skulle det hjälpa mig att lösa den här uppgiften?

for( (char)int c = 'a'  ?

Blir ju helt tokigt

Tomte123 107
Postad: 26 apr 2019

Wohoo! Nu så har jag löst den;

for (int c = 'a'; c < 'f'; c++) {
System.out.println((char)c);
}

Svara Avbryt
Close