布尔值和如果错误
Boolean and if mistake
我的代码有问题。这是过程 -
- 首先你输入你的名字
- 然后你输入你的年龄
- 然后输入密码(默认值为"anybody")
可以毫无问题地输入姓名和年龄,但程序评估密码时出现错误。当您正确输入密码时,它仍然returns为假。
请帮帮我!!
谢谢
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);
}
}
}
在 Java 中比较两个字符串时,您需要使用 .equals() 方法。这将比较两个字符串的值,而 == 将比较引用。
String test = "test";
if(test.equals("test")) {
//Do something
}
您需要像这样在字符串上使用 .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)
}
我的代码有问题。这是过程 -
- 首先你输入你的名字
- 然后你输入你的年龄
- 然后输入密码(默认值为"anybody")
可以毫无问题地输入姓名和年龄,但程序评估密码时出现错误。当您正确输入密码时,它仍然returns为假。
请帮帮我!! 谢谢
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);
}
}
}
在 Java 中比较两个字符串时,您需要使用 .equals() 方法。这将比较两个字符串的值,而 == 将比较引用。
String test = "test";
if(test.equals("test")) {
//Do something
}
您需要像这样在字符串上使用 .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)
}