Ich programmiere zur Uebung ein simples erweitbares Wörterbuch. Dieses speichert Woerter nach Art (Nomen, Artikel, Verb, Adjektiv, Adverb etc.) in Arraylists. Ich habe aber Probleme mit meiner Klasse Hauptwörter.
Es ist simple ich möchte eine Klasse Hauptwort schreiben die folgende Eigenschaften enthält:
Der String (das Wort) beginnt mit einem Großbuchstaben und enthält kein Großzeichen.
Dies ist mein Code:
Mein Probleme gültige Wörter nimmt er nicht.
Es ist simple ich möchte eine Klasse Hauptwort schreiben die folgende Eigenschaften enthält:
Der String (das Wort) beginnt mit einem Großbuchstaben und enthält kein Großzeichen.
Dies ist mein Code:
Java:
import java.util.*;
/**
* Ein Hauptwort beginnt mit einem Grossbuchstaben enhaelt keine Sonderzeichen und hat ein Geschlecht und vier Faelle. (Also es gilt: Anna, nicht anna oder ann5)
*
* @author eclipseworker
* @version alpha
*/
public class haupt
{
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
private String x;
private int sex;
private Scanner sc=new Scanner(System.in);
/**
* Ein Hauptwort beginnt mit einem Grossbuchstaben enhaelt keine Sonderzeichen und hat
* Geschlecht: 0 = neutral, 1 = weiblich, 2 = maennlich
*/
public haupt(String wort, int geschlecht)
{
while(!starteMitGrossBuchstaben(wort)){
System.out.println("Ungueltige Eingabe! Stellen Sie sicher, das Wort keine Zahlen enthaelt und gross anfaengt!");
wort=sc.next();
while(enthaeltSonderzeichen(wort)){
System.out.println("Ungueltige Eingabe! Stellen Sie sicher, das Wort keine Zahlen enthaelt und gross anfaengt!");
wort=sc.next();
}
}
while(enthaeltSonderzeichen(wort)){
System.out.println("Ungueltige Eingabe! Stellen Sie sicher, das Wort keine Zahlen enthaelt und gross anfaengt!");
wort=sc.next();
while(!starteMitGrossBuchstaben(wort)){
System.out.println("Ungueltige Eingabe! Stellen Sie sicher, das Wort keine Zahlen enthaelt und gross anfaengt!");
wort=sc.next();
}
}
while(geschlecht<0){
System.out.println("Ungueltiges Geschlecht: 0 = neutral, 1 = weiblich, 2 = maennlich");
geschlecht=sc.nextInt();
while (geschlecht>2){
System.out.println("Ungueltiges Geschlecht: 0 = neutral, 1 = weiblich, 2 = maennlich");
geschlecht=sc.nextInt();
}
}
while(geschlecht>2){
System.out.println("Ungueltiges Geschlecht: 0 = neutral, 1 = weiblich, 2 = maennlich");
geschlecht=sc.nextInt();
while (geschlecht<0){
System.out.println("Ungueltiges Geschlecht: 0 = neutral, 1 = weiblich, 2 = maennlich");
geschlecht=sc.nextInt();
}
}
x=wort;
sex=geschlecht;
}
/**
* Enthaelt ein String ein anderes Zeichen auser a-z oder A-z gibt die Methode true retur.
*/public boolean enthaeltSonderzeichen(String pruefwort){
char[] c=pruefwort.toCharArray();
for(int p=0; p<c.length; p++){
int f=(int)c[p];
if(!(f<65 || (f>90 && f<97) || f>122 )){
return true;
}
}
return false;
}
/**
* Startet der String mit A-Z gibt die Methode true retur.
*/
public boolean starteMitGrossBuchstaben(String pruefwort){
char[] c=pruefwort.toCharArray();
for (int i = 65; i < 91; i++) {
if(c[0]==((char)i)){
return true;
}
}
return false;
}
}