@bogdans dziękuję że mi pomagasz. Po implementacji Twojego kodu mam takie same wyniki, na pewno to co napisałeś jest lepsze, ładniejsze, szybsze jednak ja jeszcze do tego poziomu nie doszedłem.
Tak jak napisałem zaimplementowałem Twój kod do siebie i wynik taki sam czyli:
wejście:
3 //ilość zestawów
aaabbb
cccaaa
cccbbb
wyjscie:
a 3 //po każdym zestawie jest jedno wyjście
b 3
c 3
a 3
c3
b3
a powinno być jedno wyjście:
a 6
b 6
c 6
pewnie źle coś zrobiłem.
Jednak czy możesz pomóc mi w tym kodzie:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
class ZliczaczLiter {
public static void main(String[] args) throws IOException
{
BufferedReader in =new BufferedReader(new InputStreamReader(System.in));
PrintWriter out=new PrintWriter(System.out);
int n=Integer.parseInt(in.readLine());
int[] znakiA =new int[26];
int a=97;
for(int i=0;i<znakiA.length;i++)
{
znakiA[i]= a;
a++;
}
int[] znakiB =new int[26];
int b=65;
for(int i=0;i<znakiB.length;i++)
{
znakiB[i]= b;
b++;
}
int licznik=0;
char [] tablica = new char [1000];
for(int q=0;q<n;q++)
{
String linia=in.readLine().trim();
tablica= linia.toCharArray();
}
System.out.println();
for(int i=0; i<znakiA.length;i++)
{
for(int j=0;j<tablica.length;j++)
{
if( znakiA[i]==tablica[j])
{
licznik++;
}
}
if(licznik>0)
{
System.out.println((char)znakiA[i]+" "+licznik);
}
licznik=0;
}
for(int i=0; i<znakiA.length;i++)
{
for(int j=0;j<tablica.length;j++)
{
if( znakiB[i]==tablica[j])
{
licznik++;
}
}
if(licznik>0)
{
System.out.println((char)znakiB[i]+" "+licznik);
}
licznik=0;
}
}
}
zliczyć całe wejście czyli 'n' linijek a nie tylko ostatnią.
Jak już ogarnę to, to zajmę się kolekcjami i ogarnę HashMap. Jeszcze raz dzięki.
dodanie znaczników <code class="none"> i wstawienie kodu do posta
- @furious programming