不错:
- package day16;
- import java.util.Arrays;
- /*
- * 已知一个数组int[98],该数组里面存储了0~99共100个数字中的98个,
- * 数字不重复,请用算法算出0~99中缺少的2个数字是哪两个?
- * 要求:数组自己用程序生成,数值介于0~99,相互之间不重复。
- */
- public class TweryFour {
- public static void main(String[] args) {
- int [] ch=new int[98];
- int [] chs=new int[100];
-
- for(int a=0;a<chs.length;a++){
- chs[a]=a;
- }
- boolean [] flags=new boolean[chs.length];
- int index;
- for(int a=0;a<ch.length;a++){
- do{
- index=(int)(Math.random()*100);
- }while(flags[index]==true);
- flags[index]=true;
- ch[a]=chs[index];
- }
- Arrays.sort(ch);
- System.out.println("生成 的数组为:"+Arrays.toString(ch));
-
- int time=0;
- for(int a=0;a<chs.length;a++){
- int count=0;
- for(int b=0;b<ch.length;b++){
- if(ch[b]==chs[a]){
- break;
- }else{
- count++;
- if(count==98){
- time++;
- System.out.println("缺少的第"+time+"个数是:"+chs[a]);
- }
- }
- }
- }
- }
- }
复制代码 |