我在弄清楚如何处理此代码时遇到问题。我试图提示用户输入一个人的详细信息(例如姓名、年龄和电话号码),然后输出所有人员信息。每当输入另一个人的信息时,前一个人和当前人的信息都被输出。
应该看起来像这样:
我的输入:Adam, 25, 12345678, France
输出:Adam, 25, 12345678, 法国
我的第二次输入:Bob, 22, 12345678, Australia
第二次输出:
Adam, 25, 12345678, France
Bob, 22, 12345678, Australia
依此类推 10 次,这将第十次创建包含所有详细信息的表。 关于如何每次创建带有更多细节的表格有什么想法吗?我尝试过用它来存储变量,但也许循环数组更好?我对 Java 很陌生,因为我最近才开始接触它。任何例子将不胜感激。非常感谢!
Scanner scan = new Scanner(System.in);
scan.useDelimiter(",");
String sName = scan.next();
System.out.println(header);
String sLast = scan.next();
double sData1 = scan.nextDouble();
double sData2 = scan.nextDouble();
double sData3 = scan.nextDouble();
int sData4 = scan.nextInt();
当我回到我的计算机上时会再次全面检查。感谢您的快速回复。
最佳答案
我认为解决此问题的最佳方法之一是创建一个人员类,然后将每个人添加到列表中,在每个条目后打印整个列表。您会发现创建 Person 类并为其实现 toString() 方法是最简单的:
public class TestCode {
public static void main (String args []) {
Scanner input = new Scanner(System.in);
List<Person> peopleList = new ArrayList<Person>();
for(int i = 0; i < 10; i++){
System.out.println("enter info: ");
String name = input.next();
String age = input.next();
String phone = input.next();
String location = input.next();
peopleList.add(new Person(name, Integer.parseInt(age), Integer.parseInt(phone), location));
for(Person p: peopleList)
System.out.println(p.toString());
}
}
}
class Person{
String name;
int age;
int phoneNumber;
String location;
Person(String n, int a, int p, String l){
this.name = n;
this.age = a;
this.phoneNumber = p;
this.location = l;
}
public String toString(){
return(name + " " + age + " " + phoneNumber + " " + location);
}
}
类似这样的内容,尽管此示例不包括从输入中删除逗号。如果您选择采用此方法,则应在将值存储到 People 类之前从输入中删除逗号。
关于java - 存储输入的详细信息并显示每个新输入的所有详细信息。 ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18436297/