【问题标题】:how to loop again if there is no input?如果没有输入如何再次循环?
【发布时间】:2023-02-21 12:47:45
【问题描述】:
我希望你能帮助我处理我的代码。我大约一个月前开始学习编码,以便为我将要参加的课程做准备。
这是代码:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String name;
String color;
String food;
System.out.println("Enter Name: ");
name = in.nextLine();
System.out.println("Please Enter a name");
System.out.println("Enter Color: ");
color = in.NextLine();
System.out.println("Enter Food: ");
food = in.nextLine();*/
System.out.println("Hi my name is "+name+");
System.out.println("My favorite color"+);
System.out.println("My favorite food is "+food);
}
}
我想要实现的是,在每个扫描仪中,如果没有输入,它将要求您根据要求输入一个字符串,然后它将再次循环到该扫描仪,直到您输入一些内容。
如果它已经有输入,我希望它继续到下一个扫描仪。我应该怎么办?
【问题讨论】:
标签:
java
eclipse
loops
if-statement
while-loop
【解决方案1】:
要实现您描述的行为,您可以使用带有布尔条件的循环来检查用户是否为每个变量提供了输入。这是实现此逻辑的代码的更新版本:
import java.util.Scanner;
public class MyProgram {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String name = "";
String color = "";
String food = "";
while (name.equals("")) {
System.out.println("Enter Name: ");
name = in.nextLine();
}
while (color.equals("")) {
System.out.println("Enter Color: ");
color = in.nextLine();
}
while (food.equals("")) {
System.out.println("Enter Food: ");
food = in.nextLine();
}
System.out.println("Hi my name is " + name);
System.out.println("My favorite color is " + color);
System.out.println("My favorite food is " + food);
}
}
在这个版本的代码中,每个变量都被初始化为一个空字符串。然后,对于每个变量,都有一个 while 循环提示用户输入并继续提示他们直到他们提供非空输入。一旦他们提供了一个非空输入,循环就会结束,程序会转到下一个变量。
收集完所有输入后,程序会打印出用户的姓名、最喜欢的颜色和最喜欢的食物。
我希望这有帮助!