System.out.printf("\n"
+ "\nEnter a question: " + question=stdin.nextLine()
+ "\nEnter a guess: " + Guess=stdin.nextLine());
产生错误“作业的左侧必须是变量”。
另外,
do
{
...
} while(System.out.printf("\nWould you? "), stdin.nextLine().equalsIgnoreCase("y"))
生成“令牌上的语法错误”,“,。expected” 我希望printf忽略那些不打印任何内容的东西。怎么做?
答案 0 :(得分:0)
question
或Guess
不是变量。也许Guess
是一个类,而不是一个变量。
答案 1 :(得分:0)
分配不会自动分配:
question = stdin.nextLine ();
将stdin.nextLine()的结果分配给问题,但是赋值的结果是无效的,而不是问题。
因此,您唯一的解决方案是分两步完成:执行分配,然后,由于nextLine有副作用,请使用println打印指定的值。
答案 2 :(得分:0)
System.out.printf()不允许分配变量。因此,您对以下代码的尝试是错误的。
System.out.printf("\n"
+ "\nEnter a question: " + question=stdin.nextLine()
+ "\nEnter a guess: " + Guess=stdin.nextLine());
在正确声明所有代码之后,尝试将上述内容更改为多行代码。
question=stdin.nextLine();
Guess=stdin.nextLine();
System.out.printf("\n"
+ "\nEnter a question: " + question
+ "\nEnter a guess: " + Guess);
以下do .. while()语句也有同样的问题。
do
{
...
} while(System.out.printf("\nWould you? "), stdin.nextLine().equalsIgnoreCase("y"))
尝试以下
String answer = "n";
do
{
...
System.out.printf("\nWould you? ");
answer = <-- Get the user input using System.in -->;
} while (!answer.equalsIgnoreCase("y"))
你看起来像语法问题并遵循C ++方式。尝试亲自阅读一些java基础书籍,你们都准备好了......
快乐编码