布尔和如果错误
问题描述:
我有一个代码的问题。这是这个过程 -布尔和如果错误
- 首先,你输入你的名字
- 然后输入您的年龄
- 然后输入您的密码(默认值是“任何人”)
姓名和年龄可以输入没有问题,但程序评估错误的密码。当您正确输入密码时,它仍会返回为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);
}
}
}
答
您需要在字符串中使用.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);
}
}
答
谢谢解决我的问题。 我找到了另一种方式:
if (keyBoardInput.hasnext(builtInPassword)) {
System.out.println(trueOrFalse2);
} else {
System.out.println(trueOrfalse)
}
Rahul谢谢。 – aghdaeea