Scanner input = new Scanner(System.in);
System.out.print("Enter list1:");
int[] list1 = new int[10];
int[] list2 = new int[10];
for(int i=0;i<list1[0];i++){
list1[i]=input.nextInt();}
System.out.print("Enter list2:");
for(int j=0;j<list2[0];j++){
list2[j]=input.nextInt();}
不能先定义一个较大的长度,多出来的不输入数据吗。
作业里的要求是不能有单独输入长度的那一栏出现。就是直接输入一整个数组然后第一个数字作为长度
追答package com.oceanlive.demo;这些我还没学。目前只学了array。能不能只用array的知识解决
追答java的数组是可以合并的
能不能不单独输入一个长度 直接 选取输入数组里第一个数字作为长度。
追答System.out.println("请输入一串数字,注意以空格等非数字隔开:");
while(true){
try{
String input = new Scanner(System.in).nextLine();
Scanner scanner = new Scanner(input);
scanner.useDelimiter("[^\\d]+");
int[]data = null;
boolean isFirst = true;
int index = 0 ;
while(scanner.hasNext()){
int temp = scanner.nextInt();
if(isFirst){
data = new int[temp];
isFirst = false;
}else{
data[index++] = temp;
}
}
for(int t:data){
System.out.print(t+" ");
}
scanner.close();
break;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("你想装入的数据个数已大于数组长度!请重新弄了。");
continue;
}
}
测试:
请输入一串数字,注意以空格等非数字隔开:
3 12 12 12 12
你想装入的数据个数已大于数组长度!请重新弄了。
4 12 1212 1
12 1212 1 0