//1。从命令行输入十个数字,并存在一个数组里,且不允许重复 //其实完全可以用Set类,但是既然要求用数组,那就来吧 public static float[] arraySet(int num) throws Exception{ BufferedReader brInput=new BufferedReader(new InputStreamReader(System.in));//定义输入流,从命令行输入 float[] array=new float[num];//创建一个可以存放num个数字的数组,也就是要返回的对象 float temp=0;//用来参与循环的临时变量 for(int i=0;i<num;i++){ //一共循环num次,放入num个数 temp=Float.parseFloat(brInput.readLine());//将用户输入的数据转成float类型。其实这里应该进行检查用户是否输入的是数值,不过算了,知道就行了 //如果输入的是0,那么请用户重新一个数字,当然你也可以将数组初始化成别的难猜的数字比如4139.2068,或者连这个数你也想让用户输入的话,那你就再写一句判断一下数组里是否只有一个这个数 if(temp==0.0){ i--;//你要不--的话,用户输入几个0,你数组就少几个数 System.out.println("对不起,不能输入0这个数字,请重新输入"); continue;//嗯哏~ } for(int j=0;j<i+1;j++){ //如果已经输入过了,骂他一句,i--跟上一个道理 if(array[j]==temp){ System.out.println("啊呀,你脑子不好使啊?这个数你刚刚输入过了"); i--; break; }else //你也可以选择j<num,那就是遍历整个数组一遍,如果num很大的话,我