拆分字符串并将其放入int数组(无重复的int)Java
所以我有一个输入,用户创建尽可能多的用户ID int,就像他感觉用逗号隔开一样,例如:1,3,12,5。。。 但我必须将用户输入的字符串分解,并将其放入int数组中。 此外,不能有任何重复的用户ID。为什么这个代码是错误的拆分字符串并将其放入int数组(无重复的int)Java,java,arrays,string,input,int,Java,Arrays,String,Input,Int,所以我有一个输入,用户创建尽可能多的用户ID int,就像他感觉用逗号隔开一样,例如:1,3,12,5。。。 但我必须将用户输入的字符串分解,并将其放入int数组中。 此外,不能有任何重复的用户ID。为什么这个代码是错误的 private static Editor inicio(Scanner in){ int[] users=null; System.out.println("What are the users you wish to create? (Separ
private static Editor inicio(Scanner in){
int[] users=null;
System.out.println("What are the users you wish to create? (Separate by commas)");
String option = in.nextLine();
if (option.contains(",")){
do{
String[] vetorString = option.split(",");
for(int i = 0; i < vetorString.length; i++) {
users[i] = Integer.parseInt(vetorString[i]);
}
} while(hasUtilizador(users));
}
private static boolean hasUtilizador(int[] users){
boolean duplicate=false;
for (int j=0 ; j < users.length ; j++)
for (int k=j+1 ; k < users.length ; k++)
if (k!=j && users[k] == users[j])
duplicate=true;
return duplicate;
}
这是错误的,因为
users[i] = Integer.parseInt(vetorString[i]);
对空数组调用。在开始向用户分配值之前,请使用
users = new int[vectorString.length];
尝试使用并插入“,”作为delimeters