我正在尝试制作无限循环猪拉丁语翻译器,直到用户输入“q”退出程序。我在完成while语句时遇到了问题。我得到的错误如下。
PigLatin.java:27:错误:找不到符号} while(word!=“q”); ^符号:变量字位置:类PigLatin
这是我的源代码:
import java.util.Scanner;
public class PigLatin {
public static void main(String[] args) {
System.out.println("Welcome to the pig latin convertor.");
do {
Scanner in = new Scanner(System.in);
String word, pig;
char first;
System.out.print("enter word or press 'q' to quit: ");
word = in.next();
word = word.toLowerCase();
System.out.println(word);
first = word.charAt(0);
if (first == 'a' || first == 'e' || first == 'i' ||
first == 'o' || first == 'u') // vowel
pig = word + "way";
else
pig = word.substring(1) + word.charAt(0) + "ay";
System.out.println("pig-latin version: " + pig);
} while (word != "q");
}
}
答案 0 :(得分:1)
您的变量word
已在错误的位置声明,即。在do..while
循环中,而不是之前。这导致编译错误。
修复后,您仍有错误,因为String
比较应使用equals()
而不是!=
(或==
)。
尝试类似:
String word;
do {
...
} while (!word.equals("q"));
如果您不在乎他们是word.equalsIgnoreCase("q")
还是"q"
,也可以使用"Q"
。