所以我刚刚下载了 Eclipse,目前我正在上 9 年级的计算机编程课,所以我还不是很了解。我在那堂课之前编码,所以我有点领先。今天生病了,发现了Eclipse,开始使用,测试了一下。这也是为什么您会在其中看到 Hello World 语句的原因。我被带走了,开始编写更多代码。我想在我的代码中添加一些 if 语句,但我不确定如何正确使用它们。在行中
System.out.println("So your name is... " + name + ". Right?");
yes = scan.nextLine();
if ("Yes" != null)
{
System.out.println("Great!");
if ("No" != null)
{
System.out.println("Oh. Please retype it.");
no = scan.nextLine();
}
}
我不确定为什么,但输出是,Hello World! 请输入您的姓名 --> 贾斯汀 请输入您的年龄 --> 15 请输入您的出生年份 --> 1999 所以你的名字是……贾斯汀。正确的? 不 伟大的! 哦。请重新输入。
如您所见,我输入了 no,但它仍然给我返回结果,就好像我也输入了 Yes 一样。我怎样才能解决这个问题?提前致谢!
import java.util.Scanner;
public class helloworld_main {
private static Scanner scan;
public static void main(String args[])
{
System.out.println("Hello World!");
scan = new Scanner(System.in);
String name, age, year, yes, no;
System.out.println("Please enter your name --> ");
name = scan.nextLine();
System.out.println("Please enter your age --> ");
age = scan.nextLine();
System.out.println("Please enter the year you were born --> ");
year = scan.nextLine();
System.out.println("So your name is... " + name + ". Right?");
yes = scan.nextLine();
if ("Yes" != null)
{
System.out.println("Great!");
if ("No" != null)
{
System.out.println("Oh. Please retype it.");
no = scan.nextLine();
}
}
System.out.println("The age you entered is..." + age + ". Right?");
System.out.println("The year you were born is... " + year + ". Right?");
scan.close();
}
最佳答案
问题出在下面的代码上:
if ("Yes" != null)
{
System.out.println("Great!");
if ("No" != null)
{
System.out.println("Oh. Please retype it.");
no = scan.nextLine();
}
}
试试这个:
if ("Yes".equals(yes)) {
System.out.println("Great!");
} else {
System.out.println("Oh. Please retype it.");
no = scan.nextLine();
}
虽然这会解决您的问题,但它不会实现您的目标。一旦用户输入了错误的名字,您希望他再次输入该名字并再次询问他是否是他的正确名字。在用户键入"is"之前,您不想继续执行此操作。有一个线索给你。使用 do-while 循环。
关于java - 如何只打印 else 而不是 if?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28590089/