美文网首页
一些基础练习

一些基础练习

作者: 晓晓_1931 | 来源:发表于2022-10-11 13:17 被阅读0次

    输入三个整数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));
        }
    

    相关文章

      网友评论

          本文标题:一些基础练习

          本文链接:https://www.haomeiwen.com/subject/dazaartx.html