2015-06-19 115 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) 
}