Java If else字符串值语句,带有扫描器输入

时间:2018-08-29 11:00:35

标签: java if-statement

我正在用Java语言编写程序,并且正在使用if else语句。在此程序中,我需要输入一个或多个单词,即已分配为String数据类型值的字母字符。这样程序将打印顺序的if语句,但似乎程序无法识别输入,因为它仅打印else语句。我需要知道如何在Java语言中分配String值,并在if else Statement算法上导入java.util.Scanner;

import java.util.Scanner;

public class Compare
{
    public static void main (String []args)
    {

        Scanner input = new Scanner(System.in);
        String name = “Henry”;
        System.out.println(“Enter a NAME”);
        name = input.nextLine();

        If ( name = “Henry”)
            System.out.println(“Welcome Henry”);
        else 
            System.out.println(“Invalid Input”);
    }
}

当我在CMD中运行它时:

C:\CODE>java Compare
Enter a NAME:
Henry
Invalid Input

它不接受字符串值“ Henry”,这就是else语句始终显示“无效输入”的原因。

1 个答案:

答案 0 :(得分:3)

根据您评论中的代码:

  

import java.util.Scanner; public Compare { public static void main (String []args) { Scanner input = new Scanner(System.in); String name = “Henry”; System.out.println(“Enter a NAME”); name = input.nextLine(); If ( name = “Henry”) System.out.println(“Welcome Henry”); else System.out.println(“Invalid Input”); } }

这些是错误:

  1. public Compare:您在这里缺少class
  2. 引号应改为"
  3. If应该使用小写的if
  4. if(name = "Henry")应该是if(name.equals("Henry"))(因为comparing Strings is done with .equals。请注意,即使是正常的比较,也应该是==而不是=。)< / li>

全部合并:

import java.util.Scanner;
public class Compare{
  public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    System.out.println("Enter a NAME");
    String name = input.nextLine();
    if(name.equals("Henry"))
      System.out.println("Welcome Henry");
    else
      System.out.println("Invalid Input");
  }
}