我检查了一下,但看不到为什么输入带有两个辅音的单词会产生两个输出。 这是我的代码:
import java.util.Scanner;
public class piglatinJethroB {
public static void main(String[]args) {
Scanner input = new Scanner(System.in);
System.out.println("Welcome to the Pig Latin Translator!");
System.out.println("Type in a word and I will translate it into pig latin");
String word = input.next();
String tolowercase = word.toLowerCase();
char s = tolowercase.charAt(0);
char n = tolowercase.charAt(1);
String sub1 = tolowercase.substring(1);
String sub2 = tolowercase.substring(2);
String newword;
char a = 'a';
char e = 'e';
char i = 'i';
char o = 'o';
char u = 'u';
if (s == a || s == e || s == i || s == o || s == u ) {
newword = tolowercase + "hay";
System.out.println(newword);
return;
} else if (s != a && s != e && s != i && s != o && s != u) {
newword = sub1 + s + "ay";
System.out.println(newword);
if (n != a && n != e && n != i && n != o && n != u) {
newword = sub2 + s + n + "ay";
System.out.println(newword);
}
}
}
}
该如何解决?
答案 0 :(得分:0)
请注意此处
:else if (s != a && s != e && s != i && s != o && s != u) {
newword = sub1 + s + "ay";
System.out.println(newword);
if (n != a && n != e && n != i && n != o && n != u) {
newword = sub2 + s + n + "ay";
System.out.println(newword);
}
}
如果's'是辅音,则'else if语句'为true。如果'n'是辅音,则else if语句中的'if语句'也成立。 这就是为什么您要获得两个输出的原因。