java - 使用扫描仪接受字符串输入并存储在字符串数组中

标签 java arrays string java.util.scanner

有人可以帮助我吗?我已经进行了大量搜索,但在任何地方都找不到解决方案。 我是 Java 初学者,目前正在大学休息期间练习一些代码。

我正在尝试制作一个电话簿程序。目前我正在尝试添加新联系人,下面是我的代码,但我不确定如何将信息存储在数组中,有人可以给我一些指示吗。

    import java.util.Scanner;

    public class addContact {
    public static void main(String [] args){

    //declare arrays
        String [] contactName = new String [12];
        String [] contactPhone = new String [12];
        String [] contactAdd1 = new String [12];
        String [] contactAdd2 = new String [12];

    //inputs
    String name = "";
    String phone = "";
    String add1 = "";
    String add2 = "";

    //method of taken input
    Scanner input = new Scanner(System.in);

    //while name field is empty display prompt etc.
    while (name.equals(""))
    {
    System.out.println("Enter contacts name: ");
    name = input.nextLine();
    name += contactName[];
    }


    while (add1.equals(""))
    {
    System.out.println("Enter contacts addressline1:");
    add1 = input.nextLine();
    add1 += contactAdd1[];
    }

    while (add2.equals(""))
    {
    System.out.println("Enter contacts addressline2:");
    add2 = input.nextLine();
    add2 += contactAdd2[];
    }

    while (phone.equals(""))
    {
    System.out.println("Enter contact phone number: ");
    phone = input.nextLine();
    phone += contactPhone[];
    }

    }   
}

最佳答案

更简洁的方法是创建一个包含 contactNamecontactPhone 等的 Person 对象。然后,使用 ArrayList 而不是一个数组来添加新对象。创建一个循环,接受每个“Person:

”的所有字段
while (!done) {
   Person person = new Person();
   String name = input.nextLine();
   person.setContactName(name);
   ...

   myPersonList.add(person);
}

使用列表将无需进行数组边界检查。

关于java - 使用扫描仪接受字符串输入并存储在字符串数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14279870/

相关文章:

java - jgrapht 中的 jgrapht 类将允许我动态构建图表

javascript - 查找两个数组之间的唯一标识符

arrays - 使用 Lodash 深度串联嵌套数组对象值

java - 使用 Jest 使用自定义分析器创建索引时遇到问题

java - 获取 SwingWorker doInBackground() 上变量的值

java - 当我在共享登录节点中启动 Spark-Shell 时,JVM GC 出了什么问题?

c++ - 试图附加一个 char 字符串

java - 如何从字符串创建 InputStream?

Java:如何使用类似日志记录的模式格式化字符串?

php - 如何用 PHP 交换字符串中两个不同字符的值? A变成B,B变成A