我正在用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语句始终显示“无效输入”的原因。
答案 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”); } }
这些是错误:
public Compare
:您在这里缺少class
“
引号应改为"
If
应该使用小写的if
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");
}
}