我试图做一个没完没了的循环猪拉丁翻译器,直到用户输入一个"q“退出程序。我在最后确定时间声明时有问题。我得到的错误如下所示。
PigLatin.java:27:错误:找不到符号}时间(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");
}
}发布于 2016-02-10 06:00:47
你的变量word在错误的地方被声明了。在do..while循环中,而不是以前。这将导致编译错误。
一旦修复了这个问题,您仍然会有一个错误,因为String比较应该使用equals()而不是!= (或==)。
试一试如下:
String word;
do {
...
} while (!word.equals("q"));您也可以使用word.equalsIgnoreCase("q"),如果您不关心他们是进入"q"还是"Q"。
https://stackoverflow.com/questions/35307742
复制相似问题