Aufgabenstellung ist folgende :
Kinder spielen gerne das B-Sprachen-Spiel. Die B-Sprache funktioniert so, dass an jeden Vokal (a,e,i,o,u) eines Wortes ein b plus die Wiederholung des Vokals angefügt wird.
Schreiben Sie eine Methode namens spielen, die ein normales Wort entgegennimmt (Parameterdatentyp: String) und in ein Wort der B-Sprache übersetzt und dieses zurückgibt.
Beispiel:
übergebene Zeichenfolge: spiel mit mir zurückgelieferte Zeichenfolge: spibiebel mibit mibir
Wo ist denn in meinem Programm der Fehler ? Wenn ich beispielsweise "hi" eingebe schmeisst mir die Konsole "hihi" raus, also passt hier anscheinend alles so weit. Wenn ich aber z.B "hallo" eingebe, kommt nur eine Fehlermeldung. Ich hab keine Ahnung wo der der Fehler ist, würde mich freuen, wenn jemand helfen könnte.
import java.util.Scanner;
public class sprachspiel {
public static String spielen (String x) {
int länge=x.length();
int länge2=länge;
char[] xxx = x.toCharArray();
for(int i = 0; i<x.length();i++) {
if(xxx=='a'|| xxx=='e' || xxx=='i' || xxx=='o' || xxx=='u'){
länge2 = länge2+2;
}
}
char[]yyy = new char[länge2];
int k = 0;
for(int q = 0; q<länge2;q++) {
yyy[q]=xxx[k];
if(yyy[q]=='a') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
if (yyy[q]=='e') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
if (yyy[q]=='i') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
if (yyy[q]=='o') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
if (yyy[q]=='u') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
k++;
}
return String.valueOf(yyy);
}
public static void main(String[]args) {
Scanner s = new Scanner(System.in);
System.out.println("geben sie ein Wort ein");
String wort = s.nextLine();
s.close();
System.out.println(spielen(wort));
}
}
Kinder spielen gerne das B-Sprachen-Spiel. Die B-Sprache funktioniert so, dass an jeden Vokal (a,e,i,o,u) eines Wortes ein b plus die Wiederholung des Vokals angefügt wird.
Schreiben Sie eine Methode namens spielen, die ein normales Wort entgegennimmt (Parameterdatentyp: String) und in ein Wort der B-Sprache übersetzt und dieses zurückgibt.
Beispiel:
übergebene Zeichenfolge: spiel mit mir zurückgelieferte Zeichenfolge: spibiebel mibit mibir
Wo ist denn in meinem Programm der Fehler ? Wenn ich beispielsweise "hi" eingebe schmeisst mir die Konsole "hihi" raus, also passt hier anscheinend alles so weit. Wenn ich aber z.B "hallo" eingebe, kommt nur eine Fehlermeldung. Ich hab keine Ahnung wo der der Fehler ist, würde mich freuen, wenn jemand helfen könnte.
import java.util.Scanner;
public class sprachspiel {
public static String spielen (String x) {
int länge=x.length();
int länge2=länge;
char[] xxx = x.toCharArray();
for(int i = 0; i<x.length();i++) {
if(xxx=='a'|| xxx=='e' || xxx=='i' || xxx=='o' || xxx=='u'){
länge2 = länge2+2;
}
}
char[]yyy = new char[länge2];
int k = 0;
for(int q = 0; q<länge2;q++) {
yyy[q]=xxx[k];
if(yyy[q]=='a') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
if (yyy[q]=='e') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
if (yyy[q]=='i') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
if (yyy[q]=='o') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
if (yyy[q]=='u') {
yyy[q+1]= 'b';
yyy[q+2]= xxx[q];
q=q+3;
}
k++;
}
return String.valueOf(yyy);
}
public static void main(String[]args) {
Scanner s = new Scanner(System.in);
System.out.println("geben sie ein Wort ein");
String wort = s.nextLine();
s.close();
System.out.println(spielen(wort));
}
}