簡體   English   中英

Java If else字符串值語句,帶有掃描器輸入

[英]Java If else Statement on String value, with Scanner input

我正在用Java語言編寫程序,並且正在使用if else語句。 在此程序中,我需要輸入單詞,即已分配為String數據類型值的字母字符。 這樣程序將打印順序的if語句,但似乎程序無法識別輸入,因為它僅打印else語句。 我需要知道如何用Java語言分配String值,導入java.util.Scanner; 在if else Statement算法上。

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語句始終顯示“無效輸入”的原因。

根據您評論中的代碼:

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")) (因為比較字符串是用.equals完成的 。請注意,即使是普通的比較也應該是==而不是= 。)

總計:

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");
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM