选择结构练习

目录

01: 使用if选择结构判断一个整数,属于哪个范围:大于0;小于0;等于0

02:使用if选择结构判断一个整数是偶数还是奇数。

03:使用if选择结构对三个整数进行排序,输出时按照从小到大的顺序输出。

05:使用if选择结构判断某一年份是否是闰年。

06:使用if选择结构判断一个4位整数,统计出此整数里面包含多少个偶数,多少个奇数

07:开发一个程序,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适。

08: 判断此考试成绩为什么等级。

09: 写一个程序,输出类似09:03:12的时间格式,需要判断输入的数字是否符合实际情况,比如小时数就不能大于24,如果大于24就提示输入错误;分钟数和秒数不能大于60,如果大于60就提示输入错误。

10: 有3个整数,给出提示信息:

11:随机输入一个字母,如果是大写字母就转化为小写字母输出;如果是小写字母就转化为大写字母输出。

12:使用if结构实现学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

13:使用条件结构实现:岳灵珊同学参加到Java的学习,他父亲岳不群和母亲宁中则承诺:

14:使用条件结构实现,如果用户名等于字符‘青’,密码等于数字‘123’,就输出“欢迎你,青”,否则就输出“对不起,你不是青”。

15:求ax2+bx+c=0方程的根。

16:使用switch选择结构实现判断某年某月某日是这一年的第几天?

17:使用switch选择结构判断一个月份属于一年中的那个季节。(春夏秋冬)


01: 使用if选择结构判断一个整数,属于哪个范围:大于0;小于0;等于0

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String[] args){
        //01: 使用if选择结构判断一个整数,属于哪个范围:大于0;小于0;等于0
        System.out.println("请输入一个整数:");
        Scanner scanner = new Scanner(System.in);
        int number = scanner.nextInt();
        if(number>0){
            System.out.println("大于0");
        }else if(number == 0){
            System.out.println("等于0");
        }else{
            System.out.println("小于0");
        }
        System.out.println("程序运行结束");
    }
}

02:使用if选择结构判断一个整数是偶数还是奇数。


package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String[] args){

        //02:使用if选择结构判断一个整数是偶数还是奇数。
        System.out.println("请输入一个整数(输入-1程序停止运行):");
        Scanner scanner = new Scanner(System.in);
        int number = scanner.nextInt();
        while(number != -1){
            if(number >= 0){
                if(number%2==0){
                    System.out.println(number+"是一个偶数");break;
                }else{
                    System.out.println(number+"是一个奇数");break;
                }
            }else{
                System.out.println("请重新输入");
            }
            number = scanner.nextInt();
        }
        System.out.println("程序运行结束");

    }
}

03:使用if选择结构对三个整数进行排序,输出时按照从小到大的顺序输出。

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String[] args){
        //03:使用if选择结构对三个整数进行排序,输出时按照从小到大的顺序输出。
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入第一个数");
        int number1 = scan.nextInt();
        System.out.println("请输入第一个数");
        int number2 = scan.nextInt();
        System.out.println("请输入第一个数");
        int number3 = scan.nextInt();

        if(number1 < number2 && number1<number3){
                if (number2 < number3) {
                    System.out.println("从小到大的顺序为:" + number1 +","+ number2+"," + number3);
                } else {
                    System.out.println("从小到大的顺序为:" + number1 +","+ number3 +","+ number2);
            }
        }else if( number2 < number1 && number2<number3){

                if(number1<number3 ){
                    System.out.println("从小到大的顺序为:" + number2 +","+ number1+"," + number3);
                }else{
                    System.out.println("从小到大的顺序为:" + number2+"," + number3+"," + number1);
                }
        }else{
            if(number1<number2 ){
                System.out.println("从小到大的顺序为:" + number3 +","+ number1 +","+ number2);
            }else{
                System.out.println("从小到大的顺序为:" + number3 +","+ number2+"," + number1);
            }
        }
    }
}

04:使用if选择结构判断一个三位的整数是否是水仙花数。

水仙花数的条件:三位数为abc,则满足:a3+b3+c3=abc

package com.textday002;

import java.util.Scanner;
import static java.lang.Math.*;

public class WorkBook{
    public static void main(String[] args){
        //04:使用if选择结构判断一个三位的整数是否是水仙花数。
        //水仙花数的条件:三位数为abc,则满足:a3+b3+c3=abc
        Scanner scan= new Scanner(System.in);
        System.out.println("请输入一个三位整数:");
        int number = scan.nextInt();
        int number1 = number/100;
        int number2 = number/10%10;
        int number3 = number%10;
        System.out.println(number1);
        System.out.println(number2);
        System.out.println(number3);

        int number4 = (int) (Math.pow(number1,3)+Math.pow(number2,3)+Math.pow(number3,3));

        if(number == number4){
            System.out.println(number+"是水仙数");
        }else{
            System.out.println(number+"不是水仙数");
        }
    }
}

05:使用if选择结构判断某一年份是否是闰年。

闰年的条件:

普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年);

世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰年);

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String args[]){
        Scanner scan= new Scanner(System.in);
        System.out.println("请输入年份:");
        int year = scan.nextInt();
        if( year %400 ==0 ){
            System.out.println("世纪闰年");
        }else if(year%4==0 && year%100 !=0){
            System.out.println("普通闰年");
        }else{
            System.out.println("不是闰年");
        }
    }
}

06:使用if选择结构判断一个4位整数,统计出此整数里面包含多少个偶数,多少个奇数

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String args[]){
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入一个四位整数:");
        int number = scan.nextInt();
        int i=number ,j=0;
        while(i!=0){
            i /= 10;
            j++;
        }
        //a 偶数  b 奇数
        int a=0,b=0;
        if(j ==4 ){
            while(number!=0){
                if(number%2==0){
                    a++;
                }else{
                    b++;
                }
                number/=10;
            }
            System.out.println("偶数为:"+a+"个");
            System.out.println("奇数为:"+b+"个");
        }else{
            System.out.println("请输入四位整数!");
        }
    }
}

07:开发一个程序,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适。

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String args[]){
        //07:开发一个程序,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适。
        Scanner scan = new Scanner(System.in);

        float high,weight;
        System.out.print("请输入身高(cm):");
        high = scan.nextFloat();
        System.out.print("请输入体重(斤):");
        weight = scan.nextFloat();
        float norm= (high -108)*2;
        System.out.println("正常体重标准:"+(norm-10)+"~"+(norm+10));

        if(norm >= (weight-10)  && norm <= (weight+10) ){
            System.out.println("体重正常");
        }else{
            System.out.println("体重不正常");
        }
    }
}

08: 判断此考试成绩为什么等级。

90-100之间为优秀

80-89之间为优良

70-79之间为良好,

60-69之间为及格

60分以下为不及格。

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String args[]){
//        08: 判断此考试成绩为什么等级。
//        90-100之间为优秀
//        80-89之间为优良
//        70-79之间为良好,
//        60-69之间为及格
//        60分以下为不及格。
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入你的成绩:");
        int score = scan.nextInt();
        score /=10;
        switch(score){
            case 10:
            case 9:
                System.out.println("优秀");break;
            case 8:
                System.out.println("优良");break;
            case 7:
                System.out.println("良好");break;
            case 6:
                System.out.println("及格");break;
            default:
                System.out.println("不及格");
        }
    }
}

09: 写一个程序,输出类似09:03:12的时间格式,需要判断输入的数字是否符合实际情况,比如小时数就不能大于24,如果大于24就提示输入错误;分钟数和秒数不能大于60,如果大于60就提示输入错误。

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String args[]){
        //09: 写一个程序,输出类似09:03:12的时间格式,需要判断输入的数字是否符合实际情况,
        // 比如小时数就不能大于24,如果大于24就提示输入错误;
        // 分钟数和秒数不能大于60,如果大于60就提示输入错误。
        //hour  minute   second
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入小时:");
        int hour = scan.nextInt();
        if( hour >=0 && hour <= 24){
        }else{
            System.out.println("输入错误");
        }
        System.out.print("请输入分钟:");
        int minute = scan.nextInt();
        if(minute>=0 && minute <= 60){
        }else{
            System.out.println("输入错误");
        }
        System.out.print("请输入秒:");
        int second = scan.nextInt();
        if( second>=0 && second<=60 ){
        }else{
            System.out.println("输入错误");
        }
        System.out.println(hour+":"+minute+":"+ second);
    }
}

10: 有3个整数,给出提示信息:

能否创建三角形;

如果能构建三角形,提示是直角三角形还是等边三角形等腰三角形还是普通三角形;

最后输出三角形面积;

package com.textday002;

import java.util.Scanner;

import static java.lang.Math.pow;
import static java.lang.Math.sqrt;

public class WorkBook{
    public static void main(String args[]){
        /**
         * 10: 有3个整数,给出提示信息:
         * 能否创建三角形;
         * 如果能构建三角形,提示是直角三角形还是等边三角形等腰三角形还是普通三角形;
         * 最后输出三角形面积;
         */
        System.out.println("请输入三角形三边数值:");
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入边a:");
        double a= scan.nextDouble() ;
        System.out.print("请输入边b:");
        double b= scan.nextDouble() ;
        System.out.print("请输入边c:");
        double c= scan.nextDouble() ;
        if((a+b)>c && (b+c)>a && (a+c)>b){
            System.out.println("可以创建三角形");
            if(a==b || a==c || b==c ){
                System.out.println("等腰三角形");
            }else if(a == b && a == c ){
                System.out.println("等边三角形");
            }else if( pow(a,2)+pow(b,2) ==pow(c,2) ||pow(a,2)+pow(c,2) ==pow(b,2) ||pow(c,2)+pow(b,2) ==pow(a,2) ){
                System.out.println("直角三角形");
            }else{
                System.out.println("普通三角形");
            }
            double p =(a+b+c)/2;
            double S =sqrt(p*(p-a)*(p-b)*(p-c));
            System.out.println("三角形面积为:"+S);
        }else{
            System.out.println("不能创建三角形");
        }
    }
}

11:随机输入一个字母,如果是大写字母就转化为小写字母输出;如果是小写字母就转化为大写字母输出。

package com.textday002;

import java.util.Scanner;

import static java.lang.Math.pow;
import static java.lang.Math.sqrt;

public class WorkBook{
    public static void main(String args[]){
        /*
        *11:随机输入一个字母,如果是大写字母就转化为小写字母输出;如果是小写字母就转化为大写字母输出。
        */
        System.out.print("请输入一个字母:");
        Scanner scan = new Scanner(System.in);
        String letter = scan.next();
        char alphabet = letter.charAt(0);
        if( alphabet>='a' && alphabet <= 'z' ){
            System.out.println("你输入的是小写字母:"+alphabet+",转化为大写字母为:"+(char)((int)alphabet-32));
        }else if(alphabet >='A' && alphabet <='Z'){
            System.out.println("你输入的是大写字母:"+alphabet+",转换为小写字母为:"+(char)((int)alphabet+32));
        }else{
            System.out.println("你输入的字符没有大写或小写字符!");
        }
    }
}

12:使用if结构实现学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String args[]){
        /*
        12:使用if结构实现学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
        */
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入同学的成绩:");
        int score = scan.nextInt();
        if(score >=90 && score <=100){
            System.out.println("A");
        }else if(score>=60 &&score <90 ){
            System.out.println("B");
        }else{
            System.out.println("C");
        }
        System.out.println("程序结束");
    }
}

13:使用条件结构实现:岳灵珊同学参加到Java的学习,他父亲岳不群和母亲宁中则承诺:

如果岳灵珊的考试成绩==1OO分,父亲给她买辆车

如果岳灵珊的考试成绩>=90分,母亲给她买台笔记本电脑

如果岳灵珊的考试成绩>=60分,母亲给她买部手机

如果岳灵珊的考试成绩<60分,没有礼物

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String args[]){
        /*
        12:使用if结构实现学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
        */
        Scanner scan = new Scanner(System.in);
        System.out.print("岳灵珊同学成绩:");
        int score = scan.nextInt();
        if(score == 100){
            System.out.println("父亲给你买辆车");
        }else if(score>=90 ){
            System.out.println("母亲给你买台笔记本电脑");
        }else if(score>=60){
            System.out.println("母亲给你买部手机");
        }else{
            System.out.println("没有礼物");
        }
        System.out.println("程序结束");
    }
}

14:使用条件结构实现,如果用户名等于字符‘青’,密码等于数字‘123’,就输出“欢迎你,青”,否则就输出“对不起,你不是青”。

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String args[]){
        /**
         * 14:使用条件结构实现,如果用户名等于字符‘青’,密码等于数字‘123’,就输出“欢迎你,青”,否则就输出“对不起,你不是青”。
         */
        System.out.print("请输入您的用户名:");
        Scanner scan = new Scanner(System.in);
        String user = scan.next();
        char user1 = user.charAt(0);
        System.out.print("请输入你的密码:");
        int password = scan.nextInt();
        if( user1 == '青' && password == 123  ){
            System.out.println("欢迎你,青");
        }else{
            System.out.println("对不起,你不是青");
        }

    }
}

15:求ax2+bx+c=0方程的根。

a,b,c分别为函数的参数,

如果:b2-4ac>0,则有两个解;b2-4ac=0,则有一个解;b2-4ac<0,则无解;

已知:

x1=(-b+sqrt(b2-4ac))/2a

x2=(-b-sqrt(b2-4ac))/2a

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String args[]){
        /**
         * 15:求ax2+bx+c=0方程的根。
         * a,b,c分别为函数的参数,
         * 如果:b2-4ac>0,则有两个解;b2-4ac=0,则有一个解;b2-4ac<0,则无解;
         * 已知:
         * x1=(-b+sqrt(b2-4ac))/2a
         * x2=(-b-sqrt(b2-4ac))/2a
         */
        double a,b,c,d,x1,x2;
        System.out.println("请输入a,b,c的值:");
        Scanner scan = new Scanner(System.in);
        a = scan.nextInt();
        b = scan.nextInt();
        c = scan.nextInt();
        d = Math.pow(b,2)-4*a*c;

        if(d>0){
            System.out.println("本方程有两个解:");
            x1=(-b+Math.sqrt(d))/(2*a);
            x2=(-b-Math.sqrt(d))/(2*a);
            System.out.println("x1 = "+x1+" , x2 = "+x2);
        }else if(d == 0){
            System.out.println("方程只有一个解");
            x1=(-b+Math.sqrt(d))/(2*a);

            System.out.println("x1 = x2 = "+x1);
        }else{
            System.out.println("方程无解");
        }
    }
}

16:使用switch选择结构实现判断某年某月某日是这一年的第几天?

方式一:

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String[] args) {
        /**
         * 16:使用switch选择结构实现判断某年某月某日是这一年的第几天?
         */
        System.out.println("请输入年月日,例如2024 01 05");
        Scanner scan = new Scanner(System.in);
        int year = scan.nextInt();
        int month = scan.nextInt();
        int day = scan.nextInt();
        int days = 0;

        for(int i=1;i<month;i++)
        {
            System.out.println(i+"月份"+"\t"+getMonth(year,i));
            days+=getMonth(year,i);
        }
        days+=day;
        System.out.println(days);


    }
    public static int getMonth(int year,int month){
        switch(month)
        {

            case 2 :
            {
                return isLeapYear(year)?29:28;
            }
            case 1 :
            case 3 :
            case 5 :
            case 7 :
            case 8 :
            case 10 :
            case 12 :
                return 31;
            case 4 :
            case 6 :
            case 9 :
            case 11 :
                return 30;
            default:
                return 0;
        }
    }
    public static boolean isLeapYear(int year)
    {
        if((year%4==0 && year%100!=0) || year%400==0){
            return true;
        }
        return false;
    }
}

方式二:

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String[] args) {
       /*
       16:使用switch选择结构实现判断某年某月某日是这一年的第几天?
        */
        System.out.println("请输入年月日,例如2024 01 05");
        Scanner scan = new Scanner(System.in);
        int year = scan.nextInt();
        int month = scan.nextInt();
        int day = scan.nextInt();
        //总天数sum,
        int sum=0,date=0;


        //标记是否是闰年
        int x=0;
        if((year%4==0 && year%100!=0) || year%400==0)
            x=1;
        for(int i=1;i<=month-1;i++){
            switch(i)
            {
                case 1 : date = 31;break;
                case 2 :
                {
                    if(x == 1){
                        date = 29;break;
                    } else
                        date = 28;break;
                }
                case 3 :date = 31;break;
                case 4 :date = 30;break;
                case 5 :date = 31;break;
                case 6 :date = 30;break;
                case 7 :date = 31;break;
                case 8 :date = 31;break;
                case 9 :date = 30;break;
                case 10 :date = 31;break;
                case 11 :date = 30;break;
                case 12 :date = 31;break;
            }
            sum+=date;
        }
        sum+=day;
        System.out.println(year+"年"+month+"月"+day+"日是这一年的第"+sum+"天");

    }
}

17:使用switch选择结构判断一个月份属于一年中的那个季节。(春夏秋冬)

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String[] args) {
       /*
       17:使用switch选择结构判断一个月份属于一年中的那个季节。(春夏秋冬)
        */
        System.out.print("请输入月份:");
        Scanner scan = new Scanner(System.in);
        int month = scan.nextInt();
        switch(month){
            case 3:
            case 4:
            case 5:
                System.out.println(month+"月是春季");break;
            case 6:
            case 7:
            case 8:
                System.out.println(month+"月是夏季");break;
            case 9:
            case 10:
            case 11:
                System.out.println(month+"月是秋季");break;
            case 12:
            case 1:
            case 2:
                System.out.println(month+"月是冬季");break;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值