首页 > 编程语言 >Java流程控制10道题_上机

Java流程控制10道题_上机

时间:2023-10-08 20:23:21浏览次数:45  
标签:10 道题 Java Scanner int System println 输入 out

Java流程控制10道题

  1. 计算出1-100之间所有不能被3整除的整数的和大于(或等于)2000的数字。

    package day01;
    
    public class Lab01 {
        public static void main(String[] args) {
            //计算出1-100之间所有不能被3整除的整数的和大于(或等于)2000的数字。
            int sum = 0;
            for (int i = 0; i <= 100; i++){
                if (i % 3 != 0) {
                    sum += i;   //sum = sum + i;
                    if(sum >= 2000){
                        System.out.println("该数字是:"+i);
                        System.out.println("和:"+sum);
                        break;
                    }
                }
            }
        }
    }
    
  2. 编写一个程序,最多接受10个数字,并求出其中所有正数的和。用户可通过输入999终止程序,统计用户输入的正数个数,并显示这些正数的和。

    package day01;
    
    import java.util.Scanner;
    
    public class Lab02 {
        public static void main(String[] args) {
            //编写一个程序,最多接受10个数字,并求出其中所有正数的和。
            // 用户可通过输入999终止程序,统计用户输入的正数个数,并显示这些正数的和。
            /*
            * 1、接受用户录入数字
            * 2、循环进行统计用户输入的正数个数
            * 3、统计正数的和
            * 4、当用户输入999停止
            * */
            Scanner input =new Scanner(System.in);  //接收用户录入
            int count = 0;  //个数统计
            int sum = 0;    //和
            for (int i = 1; i <= 10; i++){
                System.out.println("请输入正整数(最多10个,输入999退出程序):");
                int num = input.nextInt();
                if (num == 999){
                    System.out.println("程序中止");
                    break;
    //                System.exit(0); //退出JVM
                }
                if (num > 0){
                    sum += num;
                    count++;
                }
            }
            System.out.println("和:"+sum);
            System.out.println("正数个数:"+count);
    		input.close();
        }
    }
    
  3. 编写JAVA程序,实现接收用户输入的行数,使用“@“打印输出平行四边形, 要求:

    1、针对接收行数进行有效性判断,如果小于零,提示无效行数,结束操作

    2、每行输出10个“@“,效果如下:

    image-20231008170226653

    package day01;
    
    import java.util.Scanner;
    
    public class Lab03 {
        public static void main(String[] args) {
            /*编写JAVA程序,实现接收用户输入的行数,使用“@“打印输出平行四边形, 要求:
                1、针对接收行数进行有效性判断,如果小于零,提示无效行数,结束操作
                2、每行输出10个“@“,效果如下:
            */
            System.out.print("请输入需要打印的平行四边形行数:");
            Scanner scanner = new Scanner(System.in);
            int hang = scanner.nextInt();
            if (hang < 0 ){
                System.out.println("无效行数!");
                return;
            }
            for (int j = 0; j < hang; j++) {
                for (int a = 0; a < hang - j; a++){
                    System.out.print(" ");
                }
                for (int i = 0; i < 10; i++){
                    System.out.print("@");
                }
                System.out.println();   //换行
                scanner.close();
            }
        }
    }
    
    
  4. 编写JAVA程序,实现接收用户输入,直到输入500为止,统计输入的数字个数及其中奇数之和,要求:统计的数据中不包括最后输入的结束数字500。

    package day01;
    
    import java.util.Scanner;
    
    public class Lab04 {
        public static void main(String[] args) {
            //编写JAVA程序,实现接收用户输入,直到输入500为止,统计输入的数字个数及其中奇数之和,要求:统计的数据中不包括最后输入的结束数字500。
            Scanner scanner =new Scanner(System.in);  //接收用户录入
            int cout = 0;   //数字个数
            int sum = 0;    //奇数和
            while (true){
                System.out.println("请输入数字(直到输入500为止):");
                int input = scanner.nextInt();
                if (input == 500){
                    break;
                }
                cout++;
                sum += input % 2 == 1 ? input : 0;
            }
            System.out.println("数字个数:" + cout);
            System.out.println("奇数和:" + sum);
            scanner.close();
        }
    }
    /*
     * 这是一个简单的Java程序,用于接收用户输入数字,直到输入500为止。
     * 在统计数据时,最后输入的数字500不会被计入。
     * 程序首先创建一个Scanner对象,用于接收用户输入。
     * 然后,定义两个变量count和sum,分别用于统计输入的数字个数和奇数之和。
     *程序使用一个while循环,循环条件为输入的数字不等于500。
     * 在循环中,首先提示用户输入数字,然后使用scanner.nextInt()方法获取输入的数字。
     * 如果输入的数字等于500,则跳出循环。
     * 否则,将count加1,并将输入的数字模2的结果与1进行比较,如果结果为1,说明输入的数字是奇数,将其加到sum中。
     * 最后,输出统计的数据。
     */
    
    
  5. 编写JAVA程序,实现接收班级10名学员JAVA成绩,根据平均分输出该班学员等级。

    规定:平均分在

    1、100—90之间等级为“A”

    2、80—89 等级为“B”

    3、70---79 等级为“C”

    4、60—69等级为“D”

    5、60以下为“E”

    要求:需要判断成绩有效范围1--100,如果超出范围,提示“成绩无效”,结束程序,效果图如下:

    image-20231008170646419

    package day01;
    
    import java.util.Scanner;
    
    public class Lab05 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int sum = 0;    //分数总和
            int cout = 0;   //人数
            int[] scores =  new int[10];
            for (int i = 0; i <10; i++){
                System.out.println("请输入第" + ( i + 1) + "名学员JAVA成绩:");
                int input = scanner.nextInt();
                if (input < 1 ||  input > 100){
                    System.out.println("成绩无效!");
                    return;
                }
                scores[i] += input;
                sum += input;
                cout++;
            }
            double average = sum / cout;
            if (average >= 90){
                System.out.println("班级平均分为"+average+"班级学员等级为A");
            } else if (average >= 80) {
                System.out.println("班级平均分为"+average+"班级学员等级为B");
            }else if (average >= 70) {
                System.out.println("班级平均分为"+average+"班级学员等级为C");
            }else if (average >= 60) {
                System.out.println("班级平均分为"+average+"班级学员等级为D");
            }else {
                System.out.println("班级平均分为"+average+"班级学员等级为E");
            }
            scanner.close();
        }
    }
    
    
  6. 输入一个五位正整数,使用数组判断它是不是回文数(如12321是回文数)。

    package day01;
    
    import java.util.Scanner;
    
    public class Lab06 {
        public static void main(String[] args) {
            //输入一个五位正整数,使用数组判断它是不是回文数(如12321是回文数)。
            Scanner scanner = new Scanner(System.in);
            System.out.print("请输入一个五位正整数:");
            int num = scanner.nextInt();
    
            int[] arr = new int[5];
            for (int i = 0; i < 5; i++) {
                arr[i] = num % 10;
                num /= 10;
            }
    
            boolean isPalindrome = true;
            for (int i = 0; i < 5; i++) {
                if (arr[i] != arr[4 - i]) {
                    isPalindrome = false;
                    break;
                }
            }
    
            if (isPalindrome) {
                System.out.println("是回文数");
            } else {
                System.out.println("不是回文数");
            }
            scanner.close();
        }
    }
    /*
    这是一个简单的Java程序,用于输入一个五位正整数,并判断它是否是回文数。程序首先创建一个Scanner对象,用于接收用户输入。然后,创建一个长度为5的整数数组arr,用于存储输入的整数的每一位。
    
    程序使用一个for循环,循环次数为5。在循环中,将输入的整数对10取余,得到该位上的数字,并将其添加到arr数组中。然后,将整数除以10,以便进入下一位。
    
    接下来,使用一个布尔变量isPalindrome来判断输入的整数是否是回文数。使用另一个for循环,循环次数为5。在循环中,比较arr数组中对应位上的数字是否相等。如果不相等,将isPalindrome设置为false,并跳出循环。
    
    最后,根据isPalindrome的值输出结果。如果是回文数,则输出“是回文数”,否则输出“不是回文数”。
    */
    
  7. 从键盘输入一个整数,然后判断数组中是否含有该数,如果存在,输出”猜对了”,否则输出”sorry”。

    package day01;
    
    import java.util.Scanner;
    
    public class Lab07 {
        public static void main(String[] args) {
            //从键盘输入一个整数,然后判断数组中是否含有该数,如果存在,输出”猜对了”,否则输出”sorry”。
            Scanner input = new Scanner(System.in);
            int[] nums = new int[]{1,2,3,4,5,6,7,8,9};
            System.out.print("请输入一个整数:");
            int num = input.nextInt();
            boolean guess = false;
            for (int i = 0; i < nums.length; i++){
                if (nums[i] == num){
                    System.out.println("猜对了");
                    guess = true;
                    break;
                }
            }
            if (guess == false){
                System.out.println("sorry");
            }
            input.close();
        }
    }
    
    
  8. .某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的。加密规则是每位数字都加上5,然后再用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。编写一个程序,用于接收一个四位的整数,并且打印输出加密后的数。

    package day01;
    
    import java.util.Scanner;
    
    public class Lab08 {
        public static void main(String[] args) {
         
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入一个四位的整数:");
            int num = scanner.nextInt();
    
            int encryptedNum = encrypt(num);
            System.out.println("加密后的数:" + encryptedNum);
            scanner.close();
        }
        private static int encrypt(int num) {
             /*
             (第四位、第三位、第二位、第一位)
             */
            int temp1 = (num / 1000 + 5) % 10;
            int temp2 = (num / 100 % 10 + 5 ) % 10;
            int temp3 = (num / 10 % 10 + 5) % 10;
            int temp4 = (num % 10 + 5) % 10;
    
            int encryptedNum = temp4 * 1000 + temp3 * 100 + temp2 * 10 + temp1;
            return encryptedNum;
        }
    }
    
    
  9. 编写JAVA程序,实现接收用户输入的8个整数,输出最大值,最小值和平均值,要求:通过循环方式,查询数组中最大值和最小值。效果图如下:

    image-20231008170524477

    package day01;
    
    import java.util.Scanner;
    
    public class Lab09 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int[] arr = new int[8];
            int sum = 0;
            for (int i = 0; i < 8; i++){
                System.out.print("请输入第" + (i + 1) + "个整数:");
                    arr[i] = scanner.nextInt();
                    sum += arr[i];
            }
            int max = arr[0];
            int min = arr[0];
            for (int i = 1; i < 8; i++){
                if (arr[i] > max){
                    max = arr[i];
                }
                if (arr[i] < min){
                    min = arr[i];
                }
            }
            double average = (double) sum / arr.length;
            System.out.println("**********");
            System.out.println("接受数据中最大值为:" + max);
            System.out.println("接受数据中最小值为:" + min);
            System.out.println("接受数据中平均值为:" + average);
            scanner.close();
        }
    }
    
    
  10. 编写JAVA程序,实现使用数组保存用户输入的5个数字,输出数组中下标为奇数的数组成员,并统计输入数据中偶数的个数。如图:

    image-20231008170541168

    package day01;
    
    import java.util.Scanner;
    
    public class Lab10 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int[] arr = new int[5];
    
            for (int i = 0; i < 5; i++){
                System.out.print("请输入第" + (i + 1) + "个整数:");
                arr[i] = scanner.nextInt();
            }
            System.out.println("***********");
            System.out.println("数组中下标为奇数的数组成员:");
            for (int i = 1; i < 5; i += 2) {
                System.out.println("arr[" + i + "] = "+ arr[i] + " ");
            }
            int count = 0;
            for (int i = 0; i < 5; i++) {
                if (arr[i] % 2 == 0) {
                    count++;
                }
            }
            System.out.println("\n输入数据中偶数的个数:" + count);
            scanner.close();
        }
    }
    
    

标签:10,道题,Java,Scanner,int,System,println,输入,out
From: https://www.cnblogs.com/Jack-12/p/17750050.html

相关文章

  • java中的异步任务处理和Feature接口
    简介Java并发包提供了一套框架,大大简化了执行异步任务所需要的开发。框架引入了“执行服务”的概念,封装了任务执行的细节,对任务提交者而言,他可以关注任务本身,如提交任务、获取结果、取消任务。而不用关注任务执行的细节。基本接口①Runnable和Callable:表示要执行的任务②Exc......
  • 2023.10.8——每日总结
    学习所花时间(包括上课):0h代码量(行):0行博客量(篇):1篇今天,上午学习+休息,下午学习+休息;我了解到的知识点:无明日计划:学习+休息......
  • 「Round C10 B」间隔 题解
    简要题意本题有\(T\)组数据。给定一个由\(n\)个元素构成的正整数数列\(a_1,a_2,a_3...a_{n-1},a_n\)。问至少需要插入多少个整数才能使得\(a\)的各相邻元素之差相等(不能插入在头尾)。\(a\)数列保证是单调不减的。\(1\len\le10^6,0\lea_i\le10^6,1\leT\le1......
  • 学习小结(10.2~10.8)
    “在还有未来的过去渴望着美好结局”——草东没有派对《山海》学习记录日期10.210.310.4内容考试考试考试收获又是dp、期望qwq李超线段树加急!!!T_T经典不会T3、T4,T2莫队还没对,T1构造错了反思T2DP没推出来合适的状态和方程T3又是期望制裁昨天刚准备......
  • 文心一言 VS 讯飞星火 VS chatgpt (108)-- 算法导论10.1 6题
    六、用go语言,说明如何用两个栈实现一个队列,并分析相关队列操作的运行时间。文心一言:使用两个栈实现队列的基本思想是利用一个栈(stack1)来处理入队操作,另一个栈(stack2)来处理出队操作。以下是使用Go语言实现的代码:packagemainimport"fmt"typeQueuestruct{s......
  • 2023.10.7 LGJ Round
    A你每秒种可以施展一种秘籍\(\{a_i,b_i\}\),使得后面\(a_i\)秒每秒都造成\(b_i\)伤害。问至少多少秒可以造成\(M\)的伤害。共\(n(n\le3e5)\)种秘籍,\(M\le1e18,a,b\le1e9\).显然可以二分答案,考虑二分\(mid\),那么我们要造成最多的伤害。贪心,每秒都选择在\(mid\)秒......
  • 10.7 杂题补做
    难度超标属实逆天考完全员爆蛋(((T1ACM_51nod1984简要题意定义\(f_i\)表示\(\inx|i\)的异或和给定\(n\)求\(1\ton\)所有\(f_i\)的异或和\(n\leq10^{14}\)很容易想到枚举每个约数然后算出现次数异或时间复杂度\(O(n)\)过不去发现可以用整除分块优化时......
  • java学习
    ......
  • 文心一言 VS 讯飞星火 VS chatgpt (108)-- 算法导论10.1 6题
    六、用go语言,说明如何用两个栈实现一个队列,并分析相关队列操作的运行时间。文心一言:使用两个栈实现队列的基本思想是利用一个栈(stack1)来处理入队操作,另一个栈(stack2)来处理出队操作。以下是使用Go语言实现的代码:packagemainimport"fmt"typeQueuestruct{stack......
  • 2023-10-08 js计算指定时间1天后的剩余时间
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metaname="viewport"content="w......