java - 如果用户没有正确地将他们的年龄输入控制台,我如何再次询问用户的年龄?
问题描述
我目前正在从一开始就学习Java。
在我做一些练习的时候,我遇到了这个程序挑战,我不知道该怎么做。
该程序只是询问用户的年龄和姓名。
它检查年龄是否小于 0,如果是,它要求用户输入正确的年龄,一旦用户输入正确的年龄,它会继续询问用户的姓名
但我不知道如何实现这一点。
下面是我编写的代码,如果我运行它,它会显示消息“错误的年龄。请输入正确的年龄。” 并立即询问用户的姓名。
有人可以指导我吗?
非常感谢你。
public class Person {
private int age;
private String name;
public void setAge(int _age) {
if (_age < 0) {
System.out.println("Wrong age. Please input correct age.");
return;
}
age = _age;
}
public void setName(String _name) {
name = _name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
}
import java.util.Scanner;
public class Example02 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Person p1 = new Person();
System.out.println("Please enter the age: ");
p1.setAge(scan.nextInt());
System.out.println("Please enter the name: ");
p1.setName(scan.next());
Person p2 = new Person();
System.out.println("Please enter the age: ");
p2.setAge(scan.nextInt());
System.out.println("Please enter the name: ");
p2.setName(scan.next());
System.out.println(p1.getName() + " / " + p1.getAge());
System.out.println(p2.getName() + " / " + p2.getAge());
}
}
解决方案
您可以使用以下代码片段
do {
System.out.println("Please enter the age: ");
p1.setAge(scan.nextInt());
} while(p1.getAge() < 0);
推荐阅读
- android - 为什么我的图层列表渐变在 Android 10 上绘制不同?
- python - pysamba 不会连接到端口 1000 但会连接到 445
- android - 无法对 Android Google Places Autocomplete API 进行单元测试
- php - 如何使用 PHP 从第 1 帧到第 2 帧提交表单
- python - 如何获得两个数据帧之间的差异?
- python - 在 tf.data 中切片导致“在图形执行中不允许迭代 `tf.Tensor`”错误
- php - 如何在 Laravel 中验证电子邮件地址是否是有效的 PayPal 电子邮件地址
- emacs - 组织模式工厂 UML 问题
- powerbi - PowerBI - 如何查看链接到的所有页面
- dataframe - 将带有熊猫的数据框插入 SAP HANA 报价错误