如何在Java中初始化此变量?

时间:2015-07-11 20:45:10

标签: java variables if-statement initialization statements

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”语句中收到错误。我究竟做错了什么?初始化“约书亚”我该怎么做?

3 个答案:

答案 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实例变量中(在类中定义)获取它们的默认值。

您已初始化为局部变量(在方法中定义)。因为他们没有任何默认值。

  1. 您可以使用String Joshua = null;String Joshua = "some value here";初始化Joshua变量,然后使用。

  2. 您可以将变量设为实例(在类中定义Joshua)并将其static直接用于static方法{ {1}}。

  3. 还有一点,您没有关注main变量的 Java命名约定。它应该是Joshua

    希望此帮助:)