7 svar
269 visningar
Tomte123 är nöjd med hjälpen
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 28514
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 28514
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 28514
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 Avbryt
Close