package testing;
import java.util.Scanner;
public class Example1 {
public static void main (String[] args){
String input;
String userInput;
String Joshua;
Scanner keyboard = new Scanner(System.in);
System.out.println("What is your name?");
input = keyboard.nextLine();
if (input != Joshua){
System.out.println("You aren't Joshua. Leave.");
}
}
}
//我在“if”语句中收到错误。我究竟做错了什么?初始化“约书亚”我该怎么做?
答案 0 :(得分:3)
String joshua = "Joshua";
您刚刚命名了您的变量,但没有分配任何值。
此外,使用equals(Object obj)方法比较字符串! ==
运算符仅检查两个变量是否共享内存中的相同位置,equals()
方法检查内容是否相等。
if(joshua.equals(input))
{
// just do it
}
答案 1 :(得分:0)
你应该做
if (input.equals("Joshua") {
//Master stuff...
} else {
//You are not Joshua!
}
好的,所以
1:您从未为字符串Joshua
定义值。
2:你甚至不需要变量。只需"Joshua"
中的if statement
。
编辑:好的,如果你真的想为它使用一个变量,你可以通过这样做来初始化它:
String Joshua = "Joshua";
说到字符串,请使用.equals()
或.equalsIgnoreCase()
代替==
或=!
来比较字符串!
答案 2 :(得分:0)
在java实例变量中(在类中定义)获取它们的默认值。
您已初始化为局部变量(在方法中定义)。因为他们没有任何默认值。
您可以使用String Joshua = null;
或String Joshua = "some value here";
初始化Joshua
变量,然后使用。
您可以将变量设为实例(在类中定义Joshua
)并将其static
直接用于static
方法{ {1}}。
还有一点,您没有关注main
变量的 Java命名约定。它应该是Joshua
。
希望此帮助:)