旗帜软件工作室Java第一阶段考核答案

一、选择题(共五小题,每小题5分)

1、D
2、C
3、D
4、D
5、D

二、排序(10分)

public class test01 {
    public static void main(String[] args) {
        int [] arr = {31, 79, 152, 7, 64, 197, 66, 101, 30, 38,
                      2, 51, 144, 135, 47, 179, 14, 23, 75, 6,
                      181, 20, 183, 199, 96, 108, 98, 188, 84,
                      166, 1, 113, 106, 87, 93, 39, 154, 146, 154,
                      27, 44, 96, 37, 174, 127, 131, 79, 181, 115,
                      195, 133, 132, 81, 169, 17, 114, 29, 50, 128,
                      156, 199, 132, 180, 85, 194, 37, 5, 195, 139,
                      108, 26, 178, 107, 22, 75, 130, 71, 28, 119,
                      43, 114, 180, 4, 102, 109, 12, 110, 58, 69,
                      173, 66, 185, 43, 3, 11, 151, 41, 145, 166, 121};

        //        方法一:冒泡排序
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = 0; j < arr.length-1-i; j++) {
                if (arr[j]>arr[j+1]){
                    int x = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] =x;
                }
            }
        }



//        方法二:选择排序
//        for (int i = 0; i < arr.length-1; i++) {
//            int x = i;
//            for (int j = i+1; j < arr.length; j++) {
//                if (arr[j]<arr[x]){
//                    x = j;
//                }
//            }
//            int tem = arr[i];
//            arr[i] = arr[x];
//            arr[x] = tem;
//        }

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

    }
}

三、图形题(共25分)

public class test02 {
    public static void main(String[] args) {
        for (int i=0;i<15;i++){
            for (int z = 0;z<i;z++){
                System.out.print(" ");
            }
            for (int j = i*2;j<15*2-1;j++){
                System.out.print("*");
            }

            System.out.println();
        }
    }
}

public class test03 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入:");
        int x = input.nextInt();
        // 菱形上半部分
        for (int i=0;i<x;i++){
            for (int z = i;z<x-1;z++){
                System.out.print("\t");
            }
            for (int j =0;j<=i*2;j++){
                System.out.print("*"+"\t");
            }
            System.out.println();
        }
        // 菱形下半部分
        for (int i=1;i<x;i++){
            for (int z = 0;z<i;z++){
                System.out.print("\t");
            }
            for (int j = i*2;j<x*2-1;j++){
                System.out.print("*"+"\t");
            }

            System.out.println();
        }
    }
}

四、算法题(共40分)

public class Test04 {
    public static void main(String[] args) {
        int [] list1 = new int[50];
        int [] list2 = new int[50];
        int [] list3 = new int[50];
        int x1 = 0;
        int x2 = 0;
        int x3 = 0;

        for(int i=1;i<=100;i++) {
            if(i%3==0&&i%5!=0) {
                list1[x1] = i;
                x1++;
            }
            else if(i%5==0&&i%3!=0) {
                list2[x2] = i;
                x2++;
            }
            else if(i%5==0&&i%3==0) {
                list3[x3] = i;
                x3++;
            }
        }
        System.out.println("“Flip”的元素为:");
        for (int i = 0; i < x1; i++) {
            System.out.print(list1[i]+", ");
        }
        System.out.println();
        System.out.println("“Flop”的元素为:");
        for (int i = 0; i < x2; i++) {
            System.out.print(list2[i]+", ");
        }
        System.out.println();
        System.out.println("“FlipFlop”的元素为:");
        for (int i = 0; i < x3; i++) {
            System.out.print(list3[i]+", ");
        }
    }
}
public class test05 {
    public static void main(String[] args) {
        System.out.print("请输入一个数字:");
        Scanner input = new Scanner(System.in);
        int x = input.nextInt();
        int y = 0;
        int w = x;
        if (x<0){
            System.out.println(false);
            return;
        }
        while (x!= 0){
            int z = x%10;
            y = z + y*10;
            x /= 10;
        }
        if (y == w){
            System.out.println(true);
        }else {
            System.out.println(false);
        }
    }
}

public class Test08 {
    public static void main(String[] args) {
        int [] nums = {11,25,30,40,33,90,100};
        Scanner input = new Scanner(System.in);
        System.out.print("请输入target的值:");
        int target = input.nextInt();
        for (int i = 0; i < nums.length-1; i++) {
            for (int j = i+1; j < nums.length; j++) {
                if (nums[i]+nums[j]==target){
                    System.out.println("["+i+","+j+"]");
                    return;
                }
            }
        }
        System.out.println("数组中无符合结果的值。");
    }
}

附加题(100分,不计入总成绩)

public class Test09 {
    public static void main(String[] args) {
        int x = 2020;
        int y = 0;
        for (int i = 1;i<=x;i++){
            int w = i;
            while (w!= 0){
                int z = w%10;
                if (z==2){
                    y++;
                }
                w /= 10;
            }
        }
        System.out.println(y);
    }
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值