java - 存储输入的详细信息并显示每个新输入的所有详细信息。 ( java )

标签 java arrays java.util.scanner delimiter

我在弄清楚如何处理此代码时遇到问题。我试图提示用户输入一个人的详细信息(例如姓名、年龄和电话号码),然后输出所有人员信息。每当输入另一个人的信息时,前一个人和当前人的信息都被输出。

应该看起来像这样:

我的输入: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/

相关文章:

java - 如何减少 Scala (/Java) 的启动开销?

c - 如何 'clear'一个字符串数组?

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 扫描仪混淆错误

javascript - 将对象数组(带有字符串数组元素)转换为嵌套树

java - Scanner 为什么要实现 Iterator<String>?

java - 旋转 bufferedImage 会改变图像的大小

Java - 在打印详细信息窗口中显示应用程序名称而不是 "Java Printing"

java - 在 IntelliJ IDEA 中运行单类 Java 控制台应用程序?

python - numpy根据索引选择子矩阵