zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java算法基础面试题

2023-09-27 14:22:26 时间

1、输入三个数a、b、c,按大小顺序输出

可以利用冒泡排序去实现,代码如下所示:

/**
     * 输入三个数a\b\c,按大小顺序输出
     *
     * @param arrays arrays
     */
private static void arraySort(int[] arrays) {
    for (int i = 0; i < arrays.length; i++) {
        for (int j = 0; j < arrays.length - 1; j++) {
            int temp;
            if (arrays[j] < arrays[j + 1]) {
                temp = arrays[j];
                arrays[j] = arrays[j + 1];
                arrays[j + 1] = temp;
            }
        }
    }

    System.out.println("冒泡排序結果:" + Arrays.toString(arrays));
}

2、对一个数组,先做逆序,再做输出

就是将一个数组倒序输出即可,代码如下所示:

/**
     * 对一个数组,先做逆序,再做输出
     *
     * @param arrays arrays
     */
private static void arrayRe(int[] arrays) {
    int temp;
    for (int i = arrays.length - 1; i > arrays.length / 2; i--) {
        temp = arrays[i];
        arrays[i] = arrays[arrays.length - 1 - i];
        arrays[arrays.length - 1 - i] = temp;
    }

    System.out.println(Arrays.toString(arrays));
}

3、输出100-999之间的水仙花数

所谓水仙花数就是个位数的三次方加上十位数的三次方加上百位数的三次方等于这个数本身的数。代码如下所示:

private static void shui() {
    for (int i = 100; i <= 999; i++) {
        // 个位数
        int a = i % 10;
        // 十位数
        int b = i / 10 % 10;
        // 百位数
        int c = i / 100 % 10;
        int d = a * a * a + b * b * b + c * c * c;
        if (d == i) {
            System.out.println("100-999中的水仙花数有:" + i + ",");
        }
    }
}