如何将字符串(word)添加到String []数组?Java,输入

时间:2016-02-27 12:13:37

标签: java arrays list add

所以,你好。我很抱歉,如果这个问题得到了回答,但我没有找到任何问题。

想象一下,有一个人正在将他的名字输入控制台,系统会在数组中查找他的名字"名称"。如果他的名字在阵列中,系统打印出来并且发送给FBI,哈哈。 但如果数组中没有他的名字,系统打印没有输入名称,那么,需要将输入的名称添加到数组中。 对于FBI基础更广泛) 这是我的代码,如果在数组中输入了名称,我可以工作。 但它显示例外,没有名字。

感谢您的帮助!)

import java.util.Arrays;

import java.util.List;
import java.util.Scanner;

public class FBI {
    String[] names = {"Вася", "Денис", "Петя", "Анатолий", "Евгений", "Саша", "Дима"};
    String s;
    Scanner scn = new Scanner(System.in);
    List<String> list = Arrays.asList(names);



    void Ss(String s2){
        System.out.println("Введите имя:");
        s2 = scn.nextLine();    
        s = s2;
    }

    public void IsThereIn(){
        if(list.contains(s)){
            System.out.println("Есть такой в базе!");
            FBI fb = new FBI();
            fb.SendToFBI();
            System.out.println("DONE!");
        }else{
            System.out.println("Такого нет!");
            list.add(s);

        }

    }
    public void SendToFBI(){
        System.out.println("Sending to FBI");
        for(int i = 1;i <=5;i++){
            System.out.println("На счёт " + i);
        }
    }


}

2 个答案:

答案 0 :(得分:1)

Arrays.asList创建数组的List 视图。在不出现异常的情况下修改此列表内容的唯一方法是使用set方法(或其他只替换元素的方法)。您无法增加列表的大小。

如果您想要一个允许添加新元素的列表,则应使用ArrayList

List<String> list = new ArrayList<>(Arrays.asList(names));

数组不支持调整大小(参见Java dynamic array sizes?):如果你需要修改&#34;数组的长度,你需要用一个新的替换它,这可以通过以下代码完成:

names = list.toArray(new String[list.size()]);

答案 1 :(得分:1)

无法向使用Arrays.asList(array)

创建的ArrayList添加值

点击链接查看源代码

List<String> list = Arrays.asList(names);

你可以做的是制作ArrayList的新副本,所有这些

List<String> list= new ArrayList<String>(list);