Meine Aufgabe ist: wenn das vom Benutzer eingegebene Wort keine Vokale hat, wird "ay" am Ende hinzugefügt, wenn es mit einem Vokal beginnt, fügt es "yay" zum Ende hinzu, andernfalls trifft es nicht Von diesen Bedingungen wird dann der erste Buchstabe an das Ende des Wortes bewegt und "ay" wird an das Ende angehängt. Ich kann nicht scheinen, dass die letzte Bedingung funktioniert. Zum Beispiel sollte das Wort "sad" "adsay" ausgeben, stattdessen gibt es "saday" aus, was bedeutet, dass es eine andere if-Anweisung liest und akzeptiert. Ich habe versucht, einige Lösungen nachzuschlagen, aber alles, was ich bekommen habe, sind Schleifen und ich möchte Schleifen für diese bestimmte Aufgabe vermeiden. Hier ist mein Code:Wie kann ich in Strings nach einem Zeichen suchen, ohne eine Schleife zu verwenden?
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Word: ");
String word = in.nextLine();
int length = word.length();
String word1 = "";
if (word.charAt(0) == 'a' || word.charAt(0) == 'e' || word.charAt(0) == 'i' || word.charAt(0) == 'o' || word.charAt(0) == 'u')
{
word1 = pigLatin(word);
System.out.println("Pig Latin: " + word1);
}
else if (word.indexOf("a") == -1 || word.indexOf("e") == -1 || word.indexOf("i") == -1 || word.indexOf("o") == -1 || word.indexOf("u") == -1)
{
word1 = pigLatin1(word);
System.out.println("Pig Latin: " + word1);
}
else
{
word1 = pigLatin2(word);
System.out.println("Pig Latin: " + word1);
}
}
static String pigLatin(String word)
{
String x = word + "yay";
return x;
}
static String pigLatin1(String word)
{
String x = word + "ay";
return x;
}
static String pigLatin2(String word)
{
char firstLetter = word.charAt(0);
String x = word.substring(1, word.length()) + firstLetter + "ay";
return x;
}
}
starten, indem Sie die Aufgabe in leicht Aufspalten Teile Der Code zu verstehen, wie die Zuordnung aussehen sollte: 'if (hasNoVowel (Wort)) {...} else if (startsWithVowel (Wort)) {...} sonst {...} '. –