一些基础练习

2022-10-11  本文已影响0人  晓晓_1931

输入三个整数x,y,z,请把这三个数由小到大输出。

public static void main(String[] args) {
         //输入三个整数x,y,z,请把这三个数由小到大输出。
         Scanner scan = new Scanner(System.in);//工具类
         System.out.println("请输入一个整数:");//阻塞 
         int x = scan.nextInt();//在控制台接受用户输入的整数
         
         System.out.println("请输入一个整数:");//阻塞 
         int y = scan.nextInt();//在控制台接受用户输入的整数
         
         System.out.println("请输入一个整数:");//阻塞 
         int z = scan.nextInt();//在控制台接受用户输入的整数
         
         int max = x > y? x : y;  
         max = max > z ? max : z;//三个数中最大 
         
         
         int min = x < y ? x : y;
         min = min < z ? min : z;//三个数中最小
         
         int mid = (x + y + z) - max - min;//中间大小的数
         
         System.out.println(min + " " + mid + " " + max);
    } 

有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。

public static void main(String[] args) {
       // 有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。
       Scanner scan = new Scanner(System.in);
       System.out.println("请输入一个不多于5位的正整数:");
       int i = scan.nextInt();
       int count = 0; 
         
        while(true) {
           int gewei = i % 10; //截取每一位
           
           i = i / 10;//每次循环去掉末尾一位
           count++;//每去掉一位,记录加一
           
           System.out.println(gewei);
           
           if(i == 0) {//去掉最后一位,再除10 结果就为0 不能再截取,跳出循环
               break;
           }
        }
        
        System.out.println("是" + count + "位数");
        
   }

编写一个程序,找出大于200的最小的质数

public static void main(String[] args) { 
        for(int i = 200; ;i++) {
            
            boolean b = true;
            for(int j = 2; j < i ;j++) {
                if(i % j == 0) {
                    b = false;
                    continue;
                }
            }
            
            if(b) {
                System.out.println(i);
                break;
            }
        }
         
    }

冒泡排序

public static void main(String[] args) {
        int arr[] = {24,69,80,57,13,65};
        int temp;
        
        
        for(int i = 1;i <= arr.length - 1;i++) {
            for(int j = 0;j < arr.length - i;j++) {
                //比较
                if(arr[j] > arr[j + 1]) {//如果数组前面的元素比后面的元素大的话
                    //将两者进行交换
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        System.out.println("排序之后的结果为:" + Arrays.toString(arr));
    }

数组二分查找

public static void main(String[] args) {
        int[] a = { 1, 2, 3, 4, 5, 6, 7, 8 };//数组的元素得是有序的
        int head = 0;//代表起始下标的值(初始值)
        int end = a.length - 1;//结束位置的下标(初始值)
        int b = 6;//待查找的值

        boolean flag = true;
        while(head <= end) {
            int middle = (head + end)/2;//获取中间下标的值
            if(a[middle] == b) {
                System.out.println("找到了 下标为:" + middle);
                flag = false;
                break;
            }else if(b < a[middle]) {
                end = middle - 1;
            }else {
                head = middle + 1;
            }
        }

        if(flag) {
            System.out.println("没找到");
        }
        
        
    }

将一个数组中的重复元素保留一个其他的清零

public static void main(String[] args) {
         int a[] = {1,2,2,3};
         //将一个数组中的重复元素保留一个其他的清零。
         for(int i = 0;i < a.length;i++) {
             for(int j = 0;j < a.length; j++) {
                 if(a[i]==a[j] && i!=j) {
                     a[j] = 0;
                 }
             }
         }
         
         System.out.println(Arrays.toString(a));
    }

生成6个不重复的整数

public static void main(String[] args) {
        Random ra = new Random();
        int b[] = new int[6];
        for (int i = 0; i < b.length; i++) {
            b[i] = ra.nextInt(10) + 1;
           for (int j = 0; j < i; j++) {
               if(b[i] == b[j]) {
                   i--;
               }
           }
       }
        System.out.println(Arrays.toString(b));
   }

数组直接查找

public static void main(String[] args) {
       int arr[] = { 24, 69, 13, 80, 57, 65 };
       int b = 24;
       boolean flag = true;
       for (int i = 0; i < arr.length; i++) {
           if (arr[i] == b) {// 一次将变量b与数组中的所有元素进行比较,如果相等,就包含
               System.out.println("找到了,下标位置是:" + i);
               flag = false;
               break;// 找到了后面的元素就没必要比较了,所以跳出循环
           }
       }
       if (flag) {
           System.out.println("没找到");
       }
   }

将一个数组中的元素逆序存放。

    public static void main(String[] args) {
        int a[] = {1,2,3,4,5};//
        int temp;
        for(int i = 0;i < a.length/2;i++) {
            temp = a[i];
            a[i] = a[a.length - 1 - i];
            a[a.length - 1 - i] = temp;
        }
         
        //输出
        for(int i = 0; i < a.length ; i++) {
            System.out.print(a[i]);
        }
        
        System.out.println(Arrays.toString(a));
    }
上一篇下一篇

猜你喜欢

热点阅读