N
neoXxX
Gast
Hi Leute,
weiß mal wieder nicht weiter. Ich hab mir den Kopf schon zebröselt, aber hab keine Ahnung was ich übersehe. Es geht um ein Programm, das Grossbuchstaben zählt A-Z im Unicode. Also von 65 - 91. Sollte man meinen. Jetzt hat mein Code mit der Bedingung <= 91 nicht gefunzt. Aber mit <=90. Trotzdem zählt er alle Buchstaben von A-Z korrekt.
Außerdem verstehe ich nicht wieso man hier an den String eine Nullreferenz übergibt? Ich kann doch auch eine int oder float Varialbe vereinbaren ohne konkreten Wert oder die Nullreferenz. Hat es was damit zu tun, dass es eine Klasse ist? Wenn ja, wieso?
Hier der Code:
weiß mal wieder nicht weiter. Ich hab mir den Kopf schon zebröselt, aber hab keine Ahnung was ich übersehe. Es geht um ein Programm, das Grossbuchstaben zählt A-Z im Unicode. Also von 65 - 91. Sollte man meinen. Jetzt hat mein Code mit der Bedingung <= 91 nicht gefunzt. Aber mit <=90. Trotzdem zählt er alle Buchstaben von A-Z korrekt.
Außerdem verstehe ich nicht wieso man hier an den String eine Nullreferenz übergibt? Ich kann doch auch eine int oder float Varialbe vereinbaren ohne konkreten Wert oder die Nullreferenz. Hat es was damit zu tun, dass es eine Klasse ist? Wenn ja, wieso?
Hier der Code:
Code:
import java.awt.*;
import java.io.*;
public class GrossB {
char zeichen;
int mal;
GrossB (char buchst, int anzahl){
zeichen = buchst;
mal = anzahl;
}
public static void main (String args[]){
int bst;
int i;
int posStr;
int laengeStr;
String eingabe = null;
GrossB gbst [] = new GrossB[30];
for (bst=65, i=0; bst<=90; bst++, i++){
gbst[i] = new GrossB((char)bst, 0);
}
System.out.println("Gib einen Text ein: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
eingabe = br.readLine();
}catch (IOException ioe)
{
System.err.println(ioe);
}
for(bst=65; bst<=90; bst++){
for(posStr=0, laengeStr=eingabe.length(); posStr<laengeStr; posStr++){
if (eingabe.charAt(posStr) == (char)bst)
gbst[bst-65].mal += 1;
}
}
for (bst=65, i=0; bst<=90; bst++, i++){
if (gbst[i].mal > 0)
System.out.println("Buchstabe: "+gbst[i].zeichen+ " mal: "+gbst[i].mal);
}
}
}