java - 以输入结束数组
问题描述
我是 java 新手,我目前正在尝试制作一个使用 10 个输入姓名和年龄的数组的程序。我想要做的是添加一个选项,这样如果用户在提示输入姓名时键入“完成”,程序将直接跳到列出已经输入的姓名和年龄。
代码:
import java.util.Arrays;
public class array2 {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
input.useDelimiter(System.getProperty("line.separator"));
int numofpeople = 10;
Person[] persons = new Person[numofpeople];
for (int i = 0; i < numofpeople; i++) {
System.out.print("Enter the person's name: ");
String person = input.next();
System.out.print("Enter the persons's age: ");
int age = (Integer) input.nextInt();
persons[i] = new Person(person, age);
}
Arrays.sort(persons);
System.out.print("Name" + "\tAge");
System.out.print("\n----" + "\t----\n");
for (int i = 0; i < persons.length; i++) {
System.out.println(persons[i].person + "\t" + persons[i].age);
}
System.out.println("The oldest person is: " + persons[numofpeople-1].person);
System.out.println("The youngest person is: "+ persons[0].person);
}
}
class Person implements Comparable<Person> {
public String person;
public Integer age;
public Person(String s, Integer g) {
this.person = person;
this.age = g;
}
@Override
public int compareTo(Person o) {
return (this.age>o.age?1:-1);
}
}
我在想的是我需要使用一个布尔 if 语句来定义是否已输入 done,如果已输入,则程序会跳过询问用户其余的姓名和年龄,而是跳转到打印已经输入的。我不确定这一点,任何帮助将不胜感激!
解决方案
您的想法是正确的,最简单的方法是检查是否person
等于"done"
。如果这是真的,break
循环和代码应该继续,它应该产生你想要的结果。
推荐阅读
- mpandroidchart - 如何设置 MPAndroidChart 描述多行?
- azure - 通知的 Azure DevOps 工作项类型条件
- typescript - TS2322:泛型未正确传播
- python-3.x - 在numpy数组中过滤
- ssl - Kubernetes/Ingress/TLS - 使用 URL 中的 IP 地址阻止访问
- postgresql - Postgres 记录未创建,但 PK 正在递增
- tensorflow - 使用 Keras 构建神经网络的奇怪结果
- php - 在 HTML 中显示返回值
- windows-10 - 代码:从 Windows 市场下载 Ubuntu(Linux 的 Windows 子系统)时出现 0x80073D05 错误
- api - 在 api 中传递参数