Tablica - Char

0

Mam takie zadanie.

Robie zgodnie z instrukcją ale wywala mi nieznany błąd.
Robie tak aby przypisał od 1-26 do każdego nr literę alfabetu.

Utwórz 26 elementową tablice typu char. Zapisz w kolejnych komórkach małe litery alfabetu od a do z

class zadania {
public static void main(String[] args){

       <span style="color: red">char</span> tablica [25] = (<span style="color: green">'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','q','p','r','s','t','u','w','x','y','z'</span>); 
    }      

for(char i = 0; i< tablica.length; i++)
{

tablica [i] = i;

}

for (int i=0; i<tablica.length; i++){

            System.out.println(<span style="color: green">"tablica["</span>+ i + <span style="color: green">"] ="</span> + tablica [i]);
    
}

}
}
}

0

Złe nawiasy przy definiowaniu tabeli {}, a nie ()
https://java.sun.com/docs/books/jls/second_edition/html/arrays.doc.html

I jeszcze jedno oba fory są poza metodą main. Ściągnij jakieś IDE z podpowiadaniem składni i podkreślaniem błędów. Eclipsa, bo z netbeansami ciężko się pracuje na kodzie.

swoją drogą zamiast:

for(char i = 0; i< tablica.length; i++){
   tablica [i] = i;
}

bezpieczniej jest użyć:

for(char i = 'a'; i< tablica.length; i++){
   tablica [i] = i;
}
0

najlatwiej:

char[] tab = "abcdefghijklmnoprstuwyz".toCharArray();

poza tym obie petle w poscie koziolka nie maja sensu:

  1. do tablicy o elementcie i przypisywane jest i, czyli dla i = 0 przypisdze 0, dla i = 1 przypisze 1 itp
  2. zaczynasz petle od char i = 'a', a warunek to tablice.length, przeciez 'a' ma wiecej niz te 26, jak juz powinno byc i <= 'z' czy cos
    pozdrawiam
0

aha i w drugiej petli nie przypisywac do tablice tablice[i], poniewaz 'a' ma chybna 65 a takiego elementu tablicy nie ma, tylko jakos tak:
tablice[i - 'a'] = i;

0

Niestety Panowie nic z tego nie wychodzi

class zadania {
public static void main(String[] args){

       char []tablica  = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','q','p','r','s','t','u','w','x','y','z'}; 
        

for(char i = 'a'; i< ='z'; i++){
tablica [i] = i;
}

}

for (int i=0; i<tablica.length; i++){

            System.out.println("tablica["+ i + "] =" + tablica [i]);
    
}

}
}

0

Ostatnio mam coś złą passę z podpowiedziami.
Po co jest ta pierwsza pętla? Skoro już utworzyłeś tablicę, to nie musisz jej już uzupełniać. A więc won ją. Jeżeli pracujesz w Javie 5 to możesz drugą pętle napisać w taki sposób:

int i = 0;
for (char c : tablica) {
	System.out.println("Tablica[" + i + "] = " + c);
	i++;
}
0
public class Zadanie
{
    public static void main(String[] args)
    {
        char tablica [] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
        for (int i=0; i<tablica.length; i++)
        {
            System.out.println("tablica["+ i + "] =" + tablica [i]);
        }
    }
}

pozdrawiam
P.S. powtórz alfabet

0

java.lang.ArrayIndexOutOfBoundsException: 25
at zadania.main(zadania.java:9)

0

Coś zapewne "ulepszyłeś", w moim kodzie nie ma wiersza 9.

0

Dzięki wszystkim za pomoc !!!

Miłego Wieczoru!

0
public static void main(String[] args) {
       char tablica[]= new char[26];
       char k='a';
       for (int i=0; i<tablica.length;i++){
           tablica[i]=k++;
           System.out.println("Tablica["+i+"] = "+tablica[i]);
       }
       
       }}
0

algorytm Uzupełnij tablicę literami alfabetu.. Bardzo dobry

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