7 svar
285 visningar
Tomte123 behöver inte mer hjälp
Tomte123 136
Postad: 26 apr 2019 09:42

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 Online 30704
Postad: 26 apr 2019 10:16 Redigerad: 26 apr 2019 10:25

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 136
Postad: 26 apr 2019 10:31

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 Online 30704
Postad: 26 apr 2019 10:38
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 136
Postad: 26 apr 2019 10:41

Vad innebär "casta"?

Laguna Online 30704
Postad: 26 apr 2019 10:44
Tomte123 skrev:

Vad innebär "casta"?

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

Tomte123 136
Postad: 26 apr 2019 10:48

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 136
Postad: 26 apr 2019 11:59

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

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

Svara
Close