java基础学习第五天练习题

十六道练习题

package com.itheima;

import java.util.Random;
import java.util.Scanner;

/*
1、打印输出字符串“HelloWorld”。
2、声明一个int类型变量x,并通过键盘输入为x赋值,然后在控制台打印输出x的值。
3、声明两个int类型变量,并通过键盘录入为变量赋值,然后求出两变量之和,在控制台打印输出结果。
4、定义3个int类型变量并赋值,求出最小值,并打印输出到控制台。
5、考试分数线为23分(包含23)以上为通过,18-23分为待定,18分以下(不包含18)为不通过。定义一个成绩,并使用if语句来判断该成绩是否通过,将结果打印到控制台,如: 成绩为25分,通过。
6、(附加题)通过键盘录入一个四位数,分别取出每一位上的数字,并按照一定格式打印输出。如:"数字3251的个位是 1, 十位是 5, 百位是 2,千位是3"
提示:
1234%10=4
1234/10%10=3
1234/10/10%10=2
1234/10/10/10%10=1
7、模拟遥控器调整音量。定义一个音量,如果值为1,那么打印输出“音量增大”;如果值为2,那么打印输出“音量减小”;如果值为3,那么打印输出“关机”;若值为其他数字,打印“抱歉,您给出的数字不合法”。(switch语句)
8、使用for循环实现打印100次helloworld。
9、使用while循环实现打印1到100之间的所有整数。
10、将1到100之间不能被3整除的数字累加求和并打印结果。求出1到5之间所有整数之和并打印结果。求出1到5之间所有奇数之和并打印结果。求出1到5之间所有偶数的个数并打印结果。
11、求1~100以内(包含1和100)能同时被3,5整除的数的和,并将求出的和打印到控制台上。
12、统计并获取10-100之间(包含10和100)个位与十位都为奇数的数字,并将数字和个数都打印到控制台上。
13、获取一个1-500之间(包含1和500)的随机数n,求0-n之间(包含0和n)的偶数和,并打印到控制台上;
14、在main方法中,定义一个长度为5的int类型数组,并使用随机数(1-100之间)为数组元素赋值
(1)	打印输出数组的长度
(2)	遍历输出每个元素
(3)	求出元素值为偶数的个数。
(4)	求出元素值为奇数的元素之和。
15、按要求在main方法中完成以下功能:
(1)	定义一个长度为10的int类型数组arr,使用随机数为数组循环赋值,随机数范围为10-99(包含10和99)
(2)	提示用户键盘录入一个1-5之间(包含1和5,无需用代码判断,提示语即可)的整数num
(3)	遍历arr,如果元素的十位或者个位数字是num的倍数(0视为任意数字的倍数),则输出该元素
示例如下:

16、按要求在main方法中完成以下功能:
(1)	定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字(无需用代码判断,提示语即可)作为数组元素
(2)	生成2-10(范围包含2和10)之间的随机数num
(3)	遍历数组arr,筛选出数组中不是num倍数的元素并输出
PS:输入的数组元素范围包括1和60,不需要代码判断


 */
public class Day05LianXiTi {
    public static void main(String[] args) {
        Scanner SC = new Scanner(System.in);
        Random r = new Random();
        System.out.println("--------第一题---------");
        /*
            1、打印输出字符串“HelloWorld”。
        */
        System.out.println("HelloWorld");
        System.out.println("--------第二题---------");
        /*
            2、声明一个int类型变量x,并通过键盘输入为x赋值,然后在控制台打印输出x的值。
         */
        System.out.println("请通过键盘输入");
        int x = SC.nextInt();
        System.out.println("你输入的数为:"+x);
        System.out.println("--------第三题---------");
        /*
             3、声明两个int类型变量,并通过键盘录入为变量赋值,然后求出两变量之和,在控制台打印输出结果。
         */
        int x1,x2;
        System.out.println("请通过键盘输入第一个数");
        x1= SC.nextInt();
        System.out.println("请通过键盘输入第二个数");
        x2= SC.nextInt();
        System.out.println("你输入的数的和为:"+(x1+x2));
        System.out.println("--------第四题---------");
        /*
            4、定义3个int类型变量并赋值,求出最小值,并打印输出到控制台。
         */
        int x3,x4,x5;
        x3=45;
        x4=46;
        x5=89;
        int x6=x3>x4? x4>x5?x5:x4:x3>x5?x5:x3;
        System.out.println(x6);
        System.out.println("--------第五题---------");
        /*
            5、考试分数线为23分(包含23)以上为通过,18-23分为待定,18分以下(不包含18)为不通过。
            定义一个成绩,并使用if语句来判断该成绩是否通过,将结果打印到控制台,如: 成绩为25分,通过。
         */
        int i = r.nextInt(51);
        if (i>=23){
            System.out.println("成绩为"+i+"分,通过");
        }else if (i<=18){
            System.out.println("成绩为"+i+"分,不通过");
        }else {
            System.out.println("成绩为"+i+"分,待定");
        }
        System.out.println("--------第六题---------");
        /*
            6、(附加题)通过键盘录入一个四位数,分别取出每一位上的数字,并按照一定格式打印输出。
                如:"数字3251的个位是 1, 十位是 5, 百位是 2,千位是3"
                提示:
                1234%10=4
                1234/10%10=3
                1234/10/10%10=2
                1234/10/10/10%10=1
         */
        while(true){
            System.out.println("请输入一个四位数");
            int temp6 = SC.nextInt();
            if (temp6>999 &&temp6<=9999){
                int ge=temp6%10;
                int shi=temp6/10%10;
                int bai=temp6/10/10%10;
                int qian=temp6/1000%10;
                System.out.println("数字"+temp6+"的个位是"+ge+",十位是"+shi+",百位是"+bai+",千位是"+qian);
                break;
            }else{
                System.out.println("输入数字不是四位数请输入四位数");
            }
        }
        System.out.println("--------第七题---------");
        /*
            7、模拟遥控器调整音量。定义一个音量,
            如果值为1,那么打印输出“音量增大”;
            如果值为2,那么打印输出“音量减小”;
            如果值为3,那么打印输出“关机”;
            若值为其他数字,打印“抱歉,您给出的数字不合法”。(switch语句)
         */
        int temp7=r.nextInt(5);
        System.out.println(temp7);
        switch (temp7){
            case 1:
                System.out.println("音量增大");
                break;
            case 2:
                System.out.println("音量减少");
                break;
            case 3:
                System.out.println("关机");
                break;
            default:
                System.out.println("抱歉,您给出的数字不合法");
        }
        System.out.println("--------第八题---------");
        /*
            8、使用for循环实现打印100次helloworld。
         */
        for (int i8 = 0; i8 < 100; i8++) {
            System.out.println("HelloWorld "+(i8+1));
        }
        System.out.println("--------第九题---------");
        /*
          9、使用while循环实现打印1到100之间的所有整数。
         */
        int temp9=0;
        while (temp9<100){
            temp9++;
            System.out.println(temp9);
        }
        System.out.println("--------第十题---------");
        /*
            10、将1到100之间不能被3整除的数字累加求和并打印结果。
            求出1到5之间所有整数之和并打印结果。
            求出1到5之间所有奇数之和并打印结果。
            求出1到5之间所有偶数的个数并打印结果。
         */
        int sun=0;
        for (int temp10 = 0; temp10 < 101; temp10++) {
            if (temp10%3!=0){
                sun+=temp10;
            }
        }
        System.out.println("100以内不能被三整除的数的和为"+sun);
        int sun1=0;
        int sun2=0;
        int sun3=0;
        for (int i10 = 1; i10 <= 5; i10++) {
            sun1+=i10;
            if(i10%2==0){
                sun2+=i10;
            }else {
                sun3+=i10;
            }
        }
        System.out.println("1到5之间所有整数之和为"+sun1);
        System.out.println("1到5之间所有偶数之和为"+sun2);
        System.out.println("1到5之间所有奇数之和为"+sun3);
        System.out.println("--------第十一题---------");
        /*
            11、求1~100以内(包含1和100)能同时被3,5整除的数的和,并将求出的和打印到控制台上。
         */
        int temp11=0;
        for (int i11 = 1; i11 <=100; i11++) {
            if(i11%3==0&&i11%5==0){
                temp11+=i11;
            }
        }
        System.out.println(temp11);
        System.out.println("--------第十二题---------");
        /*
            12、统计并获取10-100之间(包含10和100)个位与十位都为奇数的数字,
            并将数字和个数都打印到控制台上。
         */
        int temp12 =0;
        for (int i12 = 10; i12 <= 100; i12++) {
            if (i12==100){
            }else {
                if (i12/10%2!=0&&i12%10%2!=0){
                    temp12++;
                    System.out.print(i12+" ");
                    if (temp12%4==0){
                        System.out.println();
                    }
                }
            }
        }
        System.out.println();
        System.out.println("--------第十三题---------");
        /*
            13、获取一个1-500之间(包含1和500)的随机数n,
            求0-n之间(包含0和n)的偶数和,并打印到控制台上;
         */
        int sun13=0;
        int temp13 = r.nextInt(500) + 1;
        for (int i13 = 0; i13<= temp13; i13++) {
            if (i13%2==0){
                sun13+=i13;
            }
        }
        System.out.println("0到"+temp13+"之间(包含0和n)的偶数和为"+sun13);
        System.out.println("--------第十四题---------");
        /*
            14、在main方法中,定义一个长度为5的int类型数组,
            并使用随机数(1-100之间)为数组元素赋值
                (1)	打印输出数组的长度
                (2)	遍历输出每个元素
                (3)	求出元素值为偶数的个数。
                (4)	求出元素值为奇数的元素之和。
         */
        int[] int14 = new int[5];
        int count14=0;
        int sun14=0;
        for (int i14 = 0; i14 < 5; i14++) {
            int temp14 = r.nextInt(100) + 1;
            int14 [i14]=temp14;
        }
        System.out.println(int14.length);
        for (int i142=0; i142 < int14.length; i142++) {
            System.out.println(int14[i142]);
            if (int14[i142]%2==0){
                count14++;
            }else{
                sun14+=int14[i142];
            }
        }
        System.out.println("元素值为偶数的个数为"+count14);
        System.out.println("元素值为奇数的元素之和为"+sun14);
        System.out.println("--------第十五题---------");
        /*
            15、按要求在main方法中完成以下功能:
                (1)	定义一个长度为10的int类型数组arr,使用随机数为数组循环赋值,随机数范围为10-99(包含10和99)
                (2)	提示用户键盘录入一个1-5之间(包含1和5,无需用代码判断,提示语即可)的整数num
                (3)	遍历arr,如果元素的十位或者个位数字是num的倍数(0视为任意数字的倍数),则输出该元素
                示例如下:
         */
        int[] arr15 = new int[10];
        for (int i15 = 0; i15 < 10; i15++) {
            int temp15 = r.nextInt(90) + 10;
            arr15[i15]=temp15;
        }
        System.out.println("请输入一个1-5之间的数包含1,5:");
        int num15;
        while (true){
            num15 = SC.nextInt();
            if (num15>=1&&num15<=5){
                break;
            }else {
                System.out.println("输入数字不符合请重新输入:");
            }
        }
        for (int i1 = 0; i1 < arr15.length; i1++) {
            System.out.print(arr15[i1]+" ");
        }
        for (int i152 = 0; i152 < arr15.length; i152++) {
            if (arr15[i152]/10%num15==0||arr15[i152]%10%num15==0){
                System.out.println(arr15[i152]);
            }
        }
        System.out.println("--------第十六题---------");
        /*
            16、按要求在main方法中完成以下功能:
            (1)	定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字(无需用代码判断,提示语即可)作为数组元素
            (2)	生成2-10(范围包含2和10)之间的随机数num
            (3)	遍历数组arr,筛选出数组中不是num倍数的元素并输出
            PS:输入的数组元素范围包括1和60,不需要代码判断
         */

        int[] arr16 = new int[5];
        int num16 = r.nextInt(9)+2;
        System.out.println(num16);
        for (int i163 = 0; i163 < 5; i163++) {
            System.out.println("请输入1-60之间的数字当前输入第"+(i163+1)+"个");
            int temp16 = SC.nextInt();
            arr16[i163]=temp16;
        }
        for (int i16 = 0; i16 < arr16.length; i16++) {
            System.out.print(arr16[i16]+" ");
        }
        System.out.println();
        for (int i162 = 0; i162 < arr16.length; i162++) {
            if (arr16[i162]%num16!=0){
                System.out.println(arr16[i162]);
            }
        }
        System.out.println("--------完结撒花---------");
    }
}

第十六题改进

package com.itheima;

import java.util.Random;
import java.util.Scanner;

public class DiShiLiuTi {
    public static void main(String[] args) {
        Random r = new Random();
        Scanner SC = new Scanner(System.in);
        System.out.println("--------第十六题---------");
        /*
            16、按要求在main方法中完成以下功能:
            (1)	定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字(无需用代码判断,提示语即可)作为数组元素
            (2)	生成2-10(范围包含2和10)之间的随机数num
            (3)	遍历数组arr,筛选出数组中不是num倍数的元素并输出
            PS:输入的数组元素范围包括1和60,不需要代码判断
         */

        int[] arr16 = new int[5];
        int num16 = r.nextInt(9)+2;
        System.out.println(num16);
        int i;
        for (i = 0; i < arr16.length; i++) {
            isNumber(arr16,i);
        }
        for (int i1 = 0; i1 < arr16.length; i1++) {
            System.out.print(arr16[i1]+" ");
        }
        System.out.println();
        for (int i1 = 0; i < arr16.length; i1++) {
            if (arr16[i1]%num16!=0){
                System.out.println(arr16[i1]);
            }
        }
        System.out.println("--------完结撒花---------");
    }
    public static void isNumber(int[] arr16, int i) {
        Scanner SC = new Scanner(System.in);
        System.out.println("请输入1-60之间的数字当前输入第"+(i+1)+"个");
        int temp16 = SC.nextInt();
        for (int i1 = 0; i1 < arr16.length; i1++) {
            if (arr16[i1]==temp16){
                System.out.println("输入数字重复请重新输入");
                isNumber(arr16,i);
            } else if (temp16<0 ||temp16>60){
                System.out.println("输入数字不在1-60之间请重新输入");
                isNumber(arr16,i);
            }
        }
        arr16[i]=temp16;
    }
}

你可能感兴趣的:(java第一阶段练习)