2015-06-19 87 views
1

我有一个代码的问题。这是这个过程 -布尔和如果错误

  • 首先,你输入你的名字
  • 然后输入您的年龄
  • 然后输入您的密码(默认值是“任何人”)

姓名和年龄可以输入没有问题,但程序评估错误的密码。当您正确输入密码时,它仍会返回为false。

请帮帮我!! 谢谢。

import java.util.Scanner; 

    public class MyClass { 

    public static void main(String[] args) { 
     String name; 
     int age; 
     boolean trueOrFalse; 
     boolean trueOrFalse2; 

     String builtInPassword = "anybody"; 

     Scanner keyBoardInput = new Scanner(System.in); 

      System.out.print("Please enter your First name: "); 
      name = keyBoardInput.next(); 
      System.out.print("Please enter your age: "); 
      age = keyBoardInput.nextInt(); 
      trueOrFalse = false; 
      trueOrFalse2 = true; 
      System.out.print("Please enter your Password: "); 
     if (keyBoardInput.next() == builtInPassword) { 
      System.out.println(trueOrFalse2); 
     } else { 
      System.out.println(trueOrFalse); 
     } 

    } 
} 
+0

Rahul谢谢。 – aghdaeea

回答

0

您需要在字符串中使用.equals()是这样的:

public static void main(String[] args) { 
    String name; 
    int age; 
    boolean trueOrFalse; 
    boolean trueOrFalse2; 

    String builtInPassword = "anybody"; 

    Scanner keyBoardInput = new Scanner(System.in); 

     System.out.print("Please enter your First name: "); 
     name = keyBoardInput.next(); 
     System.out.print("Please enter your age: "); 
     age = keyBoardInput.nextInt(); 
     trueOrFalse = false; 
     trueOrFalse2 = true; 
     System.out.print("Please enter your Password: "); 
    if (keyBoardInput.next().equals(builtInPassword)) { 
     System.out.println(trueOrFalse2); 
    } else { 
     System.out.println(trueOrFalse); 
    } 
} 
3

在比较Java中的两个字符串时,您希望使用.equals()方法。这将比较两个字符串的值,而==会比较参考。

String test = "test"; 
if(test.equals("test")) { 
    //Do something 
} 
+0

谢谢。请在eclipse等软件中输入这些代码。在这个改变后编译器不要让输入密码并显示错误的答案! – aghdaeea

+0

if(keyBoardInput.equals(builtInPassword)){ System.out.println(trueOrFalse2); } – aghdaeea

0

谢谢解决我的问题。 我找到了另一种方式:

if (keyBoardInput.hasnext(builtInPassword)) { 
    System.out.println(trueOrFalse2); 
} else { 
    System.out.println(trueOrfalse) 
}