Discuss / Java / 作业一和二

作业一和二

Topic source

佐上楼兰

#1 Created at ... [Delete] [Delete and Lock User]
import java.util.*;

public class Main {
    public static void main(String[] args) {
        // 构造从start到end的序列:
        final int start = 10;
        final int end = 20;
        List<Integer> list = new ArrayList<>();
        for (int i = start; i <= end; i++) {
            list.add(i);
        }
        // 洗牌算法shuffle可以随机交换List中的元素位置:
        //Collections.shuffle(list);
        // 随机删除List中的一个元素:
        int removed = list.remove((int) (Math.random() * list.size()));
        int found = findMissingNumber(start, end, list);
        System.out.println(list.toString());
        System.out.println("missing number: " + found);
        System.out.println(removed == found ? "测试成功" : "测试失败");
    }

  static int findMissingNumber(int start, int end, List<Integer> list) {
      boolean[] resultList = new boolean[end-start+1];
      for(Integer num : list){
        resultList[num-start]=true;
      }
      for(int i=0;i<resultList.length;i++){
        if(!resultList[i]){
          return i+start;
        }
      }
        return 0;
    }

}

佐上楼兰

#2 Created at ... [Delete] [Delete and Lock User]

import java.util.*;

public class Main {

    public static void main(String[] args) {

        // 构造从start到end的序列:

        final int start = 10;

        final int end = 20;

        List<Integer> list = new ArrayList<>();

        for (int i = start; i <= end; i++) {

            list.add(i);

        }

        // 洗牌算法shuffle可以随机交换List中的元素位置:

        //Collections.shuffle(list);

        // 随机删除List中的一个元素:

        int removed = list.remove((int) (Math.random() * list.size()));

        int found = findMissingNumber(start, end, list);

        System.out.println(list.toString());

        System.out.println("missing number: " + found);

        System.out.println(removed == found ? "测试成功" : "测试失败");

    }

  static int findMissingNumber(int start, int end, List<Integer> list) {

      String[] a = new String[end-start+1];

      List resultList = Arrays.asList(a);

      System.out.println(resultList.toString());

      for(Integer num : list){

        resultList.set(num.intValue()-start,"");

      }

      for(int i=0;i<resultList.size();i++){

        if(resultList.get(i)==null){

          return i+start;

        }

      }

        return 0;

    }

}


  • 1

Reply