Pętla for, odliczanie na charach

0

Wytłumaczy mi ktoś czemu to nic nie wyświetla?

for(char i = '0'; i <= 20; i++) {
System.out.println(i);
}

0

Bo zero ma kod ascii większy niż 20 i pętla ani razu się nie wykona. To tak jakbyś napisał: for(int i = 48; i <= 20; i++).

0
grzesiek51114 napisał(a):

Bo zero ma kod ascii większy niż 20 i pętla ani razu się nie wykona. To tak jakbyś napisał: for(int i = 48; i <= 20; i++).

tak też nie działa:
for(char i = '\u0000'; i <= 20; i++) {
System.out.println(i);
}

0

No, a co w ogóle chcesz tutaj osiągnąć? Wpisać liczby od zera do 20? Jeśli tak to to co robisz jest bez sensu, bo zrównujesz kod ascii znaku zero czyli 48 z liczbą 20. Pętla jest bez sensu.

0
grzesiek51114 napisał(a):

No, a co w ogóle chcesz tutaj osiągnąć? Wpisać liczby od zera do 20? Jeśli tak to to co robisz jest bez sensu, bo zrównujesz kod ascii znaku zero czyli 48 z liczbą 20. Pętla jest bez sensu.

musze odliczyc od 0 to 20 ale w charach nie intach

0

Nie da się tego prosto zrobić, bo char przenosi w tym wypadku kody ASCII od zera do dziewięciu. Poza tym char to jeden znak więc trzeba kombinować. Tak na szybkiego:

/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		for(char i = '0'; i < '2'; i++)
		{
			for(char c = '0'; c <= '9'; c++)
			{
				// Nie znam javy ale na pewno da się to zastąpić jednym println ;)
				System.out.print(i == '0' ? ' ' : i);
				System.out.print(c);
				System.out.println();
			}
		}
	}
}
0
stasiek_raczejava napisał(a):
grzesiek51114 napisał(a):

No, a co w ogóle chcesz tutaj osiągnąć? Wpisać liczby od zera do 20? Jeśli tak to to co robisz jest bez sensu, bo zrównujesz kod ascii znaku zero czyli 48 z liczbą 20. Pętla jest bez sensu.

musze odliczyc od 0 to 20 ale w charach nie intach

czy to jakies zadanie domowe z butkampu ?

0
Sceptyczny Dinozaur napisał(a):
stasiek_raczejava napisał(a):
grzesiek51114 napisał(a):

No, a co w ogóle chcesz tutaj osiągnąć? Wpisać liczby od zera do 20? Jeśli tak to to co robisz jest bez sensu, bo zrównujesz kod ascii znaku zero czyli 48 z liczbą 20. Pętla jest bez sensu.

musze odliczyc od 0 to 20 ale w charach nie intach

czy to jakies zadanie domowe z butkampu ?
nope, prywatne zajecia

1 użytkowników online, w tym zalogowanych: 0, gości: 1