输入不确定长度的数组
import java.util.*;
public static void main(String[] args){
System.out.println("请输入一串整数,并用空格隔开,以回车结束");
Scanner sc = new Scanner(System.in);
String[] str = sc.nextLine().split(" ");
int num[]=new int[str.length];
for(int i=0;i<num.length;i++){
num[i]=Integer.parseInt(nums[i]);
}
System.out.println("输入的数组为:"+Arrays.toString(a));
}
参考大神写法
//一组无序的自然数集合,由0,1,2... ...,n的数字和一个的数字X(X>=0 && X<=n)组成,请从集合中找出这个重复数字X。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String[] numstr=br.readLine().split(" ");
int length=0;//记录集合元素数
HashSet<String> hs=new HashSet<>();
for(int i=0;i<numstr.length;i++)
{
length=hs.size();
hs.add(numstr[i]);
if(length==hs.size()){//没存入
System.out.println(numstr[i]);
break;
}
}
}
}
自定义数组的长度
//一组无序的自然数集合,由0,1,2... ...,n的数字和一个的数字X(X>=0 && X<=n)组成,请从集合中找出这个重复数字X。
import java.util.*;
public class ArrayIO{
public static void main(String[] args){
int ARRAYLENGTH = 8; //指定数组长度
int a[] = new int[ARRAYLENGTH];
Scanner sc = new Scanner(System.in);
System.out.println("请输入数组,并以回车结束:");
for(int i = 0; i < a.length; i++){
a[i] = sc.nextInt();
}
//直接打印数组a出来的是数组的首地址,必须用toString方法
System.out.println("数组a为:" + Arrays.toString(a));
}
}
输出
请输入数组,并以回车结束:
1 2 3 4 8 7 6 5
数组a为:[1, 2, 3, 4, 8, 7, 6, 5]