Wpis z mikrobloga

#java

mam pytanie

public static void main(String[] args) {
System.out.println ("Podaj liczbe");
String s = "";
Scanner x = new Scanner (System.in);
s=x.next();
for (int i=s.length()-1;s.length()>=0;i--)
System.out.print(s.charAt(i)+ " ,");
}

ten program wypisuje liczbe/wyraz od tyłu. czyli z kot zrobi t,o,k,
ale nie rozumiem czemu jest
for (int i=s.length()-1;s.length()>=0;i--)
a nie moze być
for (int i= s.length(); s.length()>0;i--)
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

ten program wypisuje liczbe/wyraz od tyłu. czyli z kot zrobi t,o,k,


@yras8: ten program się w--------a dosyć sążnie.

Warunek w pętli jest zły,s.length() jest stałe i nigdy się nie zmieni.

Indeksowanie jest od 0, a długość stringa to liczba znaków więc mając string "kot" długość to 3 a znaki są na pozycjach 0, 1 i 2 więc nie możesz zacząć od 3 bo dostaniesz out of bounds.
  • Odpowiedz