2017-10-11 27 views
-5

我正在写一个简单的程序,其中程序要求用户输入一些字符串和基于用户输入生成的某个输出。但是当我运行代码时,我得到了一些错误。 Errors我也试过了扫描仪导入,但同样的例外弹出。当我将主要的输入移到我的主体之外时,我又得到了3个不同的错误。 Errors在这一刻我不需要方法被循环或任何东西,只是想拥有它,所以程序可以根据用户的输入吐出一些输出。谢谢。用户输入错误非法开始的表达式和类型

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"); 
     } 
    } 
} 
} 
+1

import语句不能是一个方法或类的一部分。他们必须在文件开始时分开。 –

+0

另请参见[如何比较Java中的字符串?](https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – khelwood

+0

如果您正确设置了代码的格式,您会看到你的大括号是混乱的:你不要在你的else语句之前关闭大括号。 –

回答

0

通过==而不是=可以实现比较。而且,在Java中,对于字符串,你应该使用equals()方法是FOT

input.equals("you're my daddy.") 
1

编辑:

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"); 
    } 
    } 
} 

另一个提示字符串比较: 这是更好地把字符串中的常量避免NullPointerExceptions的比较的第一位。

if ("you're my daddy.".equals(input)) { 
    // ... 
} 

和为什么==不正确这里简单解释: 此检查两个对象是相同的(身份)。每次你写“你是我的爸爸。”一个新的字符串被创建。因此,尽管String的内容是相同的,但与==的比较永远不会成立。

0

在你的代码中.. 你可以使用缓冲的阅读器之外的主私人静态BufferReader br =新的BufferReader(新的InputStreamReader(System.in));

if(input =“you're my daddy。”){//使用equals方法。你的代码是错在这里

System.out.println("correct"); 

//没有结束花括号这里

0
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