Hey Leute,
habe mal wieder ein Problem, an dem ich gerade nicht weiterkomme...
Mein Programm soll später ein Wort einlesen, die Silben zählen und es mit Wörtern aus einem Array vergleichen und so eine Assonanz zu dem Wort finden.
Es hakt momentan daran, dass z.B. beim Wort "Haus" 2 Silben gezählt werden, da ja zwei Vokale drin sind, die aber eigentlich nur eine Silbe ergeben.
Hat jemand eine Idee, wie ich meinem Programm sagen kann, dass das bzw. auch "io" oder "ae" nur eine Silbe ist? Das Wort "Vegetarier" lassen wir da mal außen vor würde ich sagen
Gruß
Luk
habe mal wieder ein Problem, an dem ich gerade nicht weiterkomme...
Mein Programm soll später ein Wort einlesen, die Silben zählen und es mit Wörtern aus einem Array vergleichen und so eine Assonanz zu dem Wort finden.
Es hakt momentan daran, dass z.B. beim Wort "Haus" 2 Silben gezählt werden, da ja zwei Vokale drin sind, die aber eigentlich nur eine Silbe ergeben.
Hat jemand eine Idee, wie ich meinem Programm sagen kann, dass das bzw. auch "io" oder "ae" nur eine Silbe ist? Das Wort "Vegetarier" lassen wir da mal außen vor würde ich sagen
Gruß
Luk
Java:
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
String wort = scan.nextLine();
int laenge = wort.length();
int zaehler;
int zaehler1;
int zaehler2;
int zaehler3;
int zaehler4;
int zaehler5;
String arr[] =
{
"Haus", "Dachdecker", "Torschuss", "Lukas"
};
int arr1[] =
{
zaehler=0, zaehler1=0, zaehler2=0, zaehler3=0, zaehler4=0, zaehler5=0
};
int abz = arr.length;
int b = 0;
for (int i = 0; i < laenge; i++)
{
char buchstabe = wort.charAt(b);
String parse = String.valueOf(buchstabe);
if ("a".equals(parse))
{
arr1[0]++;
}
if ("e".equals(parse))
{
arr1[0]++;
}
if ("i".equals(parse))
{
arr1[0]++;
}
if ("o".equals(parse))
{
arr1[0]++;
}
if ("u".equals(parse))
{
arr1[0]++;
}
b++;
}
System.out.println("Das Wort hat " + arr1[0] + " Silben.");
int z = 0;
b = 0;
int y = 1;
for (int i = 0; i < abz; i++)
{
for (int e = 0; e < arr[z].length(); e++)
{
char buchstabe = arr[z].charAt(b);
String parse = String.valueOf(buchstabe);
System.out.println(" " + buchstabe);
if ("a".equals(parse))
{
arr1[y]++;
System.out.println("a");
}
if ("e".equals(parse))
{
arr1[y]++;
System.out.println("e");
}
if ("i".equals(parse))
{
arr1[y]++;
System.out.println("i");
}
if ("o".equals(parse))
{
arr1[y]++;
System.out.println("o");
}
if ("u".equals(parse))
{
arr1[y]++;
System.out.println("u");
}
b++;
}
System.out.println(arr[z] + " hat " + arr1[y] + " Silben");
z++;
y++;
b = 0;
}
}
}
Zuletzt bearbeitet: