所以,你好。我很抱歉,如果这个问题得到了回答,但我没有找到任何问题。
想象一下,有一个人正在将他的名字输入控制台,系统会在数组中查找他的名字"名称"。如果他的名字在阵列中,系统打印出来并且发送给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);
}
}
}
答案 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);