如何将字符串(单词)添加到String[]数组?Java,输入
How to add string(word) to String[]array?Java, input
大家好。如果该问题已得到解答,我深表歉意,但我没有找到适合我的问题的答案。
想象一下,有一个人在控制台中输入他的名字,系统在数组 "names" 中查找他的名字。如果他的名字在数组中,系统会打印出是的并将其发送给 FBI,哈哈。
但是如果数组中没有他的名字,系统打印没有输入的名字,然后,需要将输入的名字添加到数组中。
对于 FBI-base 更广泛)
这是我的代码,如果在数组中输入了名称,我就可以工作。
但是它显示异常,没有名字。
感谢您的帮助!)
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);
}
}
}
Arrays.asList
创建数组的 List
view。您可以在不出现异常的情况下修改此列表的内容的唯一方法是使用 set
方法(或其他一些仅替换元素的方法)。您不能增加列表的大小。
如果你想要一个允许你添加新元素的列表,你应该使用 ArrayList
:
List<String> list = new ArrayList<>(Arrays.asList(names));
Arrays do not support resizing (see Java dynamic array sizes?): 如果你需要"modify"一个数组的长度,你需要用一个新的替换它,这可以用这个来完成代码:
names = list.toArray(new String[list.size()]);
无法将值添加到使用 Arrays.asList(array)
创建的 ArrayList
点击link查看源代码
List<String> list = Arrays.asList(names);
您可以做的是制作 ArrayList 的新副本以及所有这些
即
List<String> list= new ArrayList<String>(list);
大家好。如果该问题已得到解答,我深表歉意,但我没有找到适合我的问题的答案。
想象一下,有一个人在控制台中输入他的名字,系统在数组 "names" 中查找他的名字。如果他的名字在数组中,系统会打印出是的并将其发送给 FBI,哈哈。 但是如果数组中没有他的名字,系统打印没有输入的名字,然后,需要将输入的名字添加到数组中。 对于 FBI-base 更广泛) 这是我的代码,如果在数组中输入了名称,我就可以工作。 但是它显示异常,没有名字。
感谢您的帮助!)
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);
}
}
}
Arrays.asList
创建数组的 List
view。您可以在不出现异常的情况下修改此列表的内容的唯一方法是使用 set
方法(或其他一些仅替换元素的方法)。您不能增加列表的大小。
如果你想要一个允许你添加新元素的列表,你应该使用 ArrayList
:
List<String> list = new ArrayList<>(Arrays.asList(names));
Arrays do not support resizing (see Java dynamic array sizes?): 如果你需要"modify"一个数组的长度,你需要用一个新的替换它,这可以用这个来完成代码:
names = list.toArray(new String[list.size()]);
无法将值添加到使用 Arrays.asList(array)
创建的 ArrayList点击link查看源代码
List<String> list = Arrays.asList(names);
您可以做的是制作 ArrayList 的新副本以及所有这些
即
List<String> list= new ArrayList<String>(list);