Java 用户输入错误表达式和类型的非法开始
我正在编写一个简单的程序,程序要求用户输入一些字符串,并根据用户的输入生成特定的输出。但是当我运行代码时,我得到了一些错误。我也尝试过扫描仪导入,但同样的异常会弹出。当我将导入移到我的main之外时,我又出现了3个不同的错误。此时,我不需要循环该方法或任何东西,只想让程序能够根据用户的输入输出一些输出。谢谢Java 用户输入错误表达式和类型的非法开始,java,user-input,Java,User Input,我正在编写一个简单的程序,程序要求用户输入一些字符串,并根据用户的输入生成特定的输出。但是当我运行代码时,我得到了一些错误。我也尝试过扫描仪导入,但同样的异常会弹出。当我将导入移到我的main之外时,我又出现了3个不同的错误。此时,我不需要循环该方法或任何东西,只想让程序能够根据用户的输入输出一些输出。谢谢 public class Question { public static void main(String arg[]) { import java.io.Buff
public class Question {
public static void main(String arg[]) {
import java.io.BufferReader;
BufferReader br = new BufferReader(new InputStreamReader(System.in));
String input = br.readLine("who's your daddy?");
if (input = "you're my daddy.") {
System.out.println("correct");
else {
System.out.println("try again");
}
}
}
}
比较是通过
=
实现的,而不是=
。在Java中,对于字符串,应该使用equals()方法
input.equals("you're my daddy.")
要进行比较,请使用
=
,而不是=
。这就是任务
但是,input
是一个字符串。所以你想用-
if (input.equals("you're my daddy.")) {
请在此处阅读相关内容-编辑:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Question {
public static void main(String[] args) {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String input = in.readLine();
if ("you're my daddy.".equals(input)) {
System.out.println("correct");
} else {
System.out.println("try again");
}
} catch (IOException ex) {
System.out.println("Error reading from System.in");
}
}
}
字符串比较的另一个提示:
最好将字符串常量放在比较的第一位,以避免NullPointerException
if ("you're my daddy.".equals(input)) {
// ...
}
下面简要说明==不正确的原因:
这将检查两个对象是否相同(标识)。每次你写“你是我爸爸”的时候,就会创建一个新字符串。因此,尽管字符串的内容相同,但与==的比较永远不会为真。在代码中。。
您可以像这样在main之外使用缓冲读取器
私有静态BufferReader br=新BufferReader(新InputStreamReader(System.in))
如果(input=“you's my daddy.”){//使用equals方法。您的代码在这里是错误的
System.out.println("correct");
//此处不关闭花括号导入语句不能是方法或类的一部分。它们必须在文件开头分开。另外,如果您正确设置代码格式,您将看到大括号混乱:您没有在else语句之前关闭大括号。请将错误输出直接复制并粘贴到任务中ion,这使得一次阅读更容易,其他人也可以根据错误消息找到这个问题。
public class V
{
public static void main ( String [] args )
{
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter your input string: ");
String input = reader.readLine();
System.out.println("Your input is: " + input);
String input1="you're my daddy.";
if (input.equals(input1))
{
System.out.println("correct");
}
else
{
System.out.println("try again");
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
} enter code here