Java小白自学7:选择结构练习题

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

public static void main(String[] args) {
    /*使用if选择结构判断一个整数是偶数还是奇数。
    * if-else语句
    */

    //Scanner
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个整数:");
    int num = sc.nextInt();
    System.out.println("您输入的整数为:"+num);

    //if-else语句判断范围
    if ( num > 0 ){
        System.out.println("输入的数字:"+num+"大于0");
    }else if( num < 0 ){
        System.out.println("输入的数字:"+num+"小于0");
    }else{
        System.out.println("输入的数字:"+num+"等于0");
    }

    //结束语句
    System.out.println("结束语句");
}

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

public static void main(String[] args) {
    //      使用if选择结构判断一个整数,属于哪个范围:大于0;小于0;等于0

    //Scanner键盘输入----导包(import java.util.Scanner;)-----创建对象-------获取数据
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个整数:");
    int integer = sc.nextInt();
    System.out.println("您输入的整数为:"+integer);

    //if-else if语句判断
    if (integer>0){
        System.out.println(integer+"属于大于0范围");
    }else if (integer<0){
        System.out.println(integer+"属于小于0范围");
    }else {
        System.out.println(integer+"属于等于0范围");
    }

    //结束if语句
    System.out.println("结束语句");

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

public static void main(String[] args) {
    //使用if选择结构对三个整数进行排序,输出时按照从小到大的顺序输出。

    //Scanner键盘输入----导包(import java.util.Scanner;)-----创建对象-------获取数据
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入3个整数:");
    int num1 = sc.nextInt();
    int num2 = sc.nextInt();
    int num3 = sc.nextInt();
    System.out.println("您输入的3个整数分别为:"+num1+"\t"+num2+"\t"+num3);

    //if语句判断大小
    if ( num1<num2 ){
            if (num2<num3) {
                System.out.println(num1 + "\t" + num2 + "\t" + num3);
            }else if(num1<num3){
                System.out.println(num1 + "\t" + num3 + "\t" + num2);
            }else{
                System.out.println(num3 + "\t" + num1 + "\t" + num2);
            }

    }else if(num2<num3){
            if (num3<num1){
                System.out.println(num2 + "\t" + num3 + "\t" + num1);
            }else{System.out.println(num2 + "\t" + num1 + "\t" + num3);
            }
    }else{
            System.out.println(num3 + "\t" + num2 + "\t" + num1);
    }

    //结束if语句
    System.out.println("结束语句");

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

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

public static void main(String[] args) {
    /*使用if选择结构判断一个三位的整数是否是水仙花数。
     *水仙花数的条件:三位数为abc,则满足:a3+b3+c3=abc
     */

    //Scanner键盘输入
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个3位整数:");
    int integer = sc.nextInt();
    System.out.println("您输入的3位整数为:"+integer);

    //分别求出各个位置上的数字
    int a = integer%10;
    int b = integer/10%10;
    int c = integer/100;

    //定义
    int d = a*a*a + b*b*b + c*c*c;

    //判断
    if (d==integer){
        System.out.println("输入的三位整数是水仙花数");
    }else{
        System.out.println("输入的三位整数不是水仙花数");
    }

    //结束
    System.out.println("结束语句");

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

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

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

public static void main(String[] args) {
    /*  使用if选择结构判断某一年份是否是闰年。
        闰年的条件:
        普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年);
        世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰年);
    */

    //Scanner键盘输入----导包(import java.util.Scanner;)-----创建对象-------获取数据
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个年份:");
    int year = sc.nextInt();
    System.out.println("您输入的年份为:"+year);

    //判断
    if ( ( (year%4==0) && (year%100!=0) ) || (year%400==0) ){
        System.out.println(year+"年是闰年");
    }else{
        System.out.println(year+"年不是闰年");
    }

    //结束
    System.out.println("结束语句");

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

使用if选择结构判断一个4位整数,统计出此整数里面包含多少个偶数,多少个奇数
 */
public static void main(String[] args) {

    //Scanner键盘录入------导包(import java.util.Scanner)-----创建对象-------获取数据
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个4位整数:");
    int a = sc.nextInt();

    //求出各个位置上的数字
    int bits = a%10;
    int decade = a/10%10;
    int hundredth = a/100%10;
    int thousandBits = a/1000;

    //定义偶数储存变量
    int i = 0;    //偶数个数
    int o = (4-i);//奇数个数

    //判断偶数
    if (bits%2==0){ //判断个位是否为偶数,若是i=i+1-----代表偶数个数为1
        i+=1;
    }

    if (decade%2==0){
        i+=1;
    }

    if (hundredth%2==0){
        i+=1;
    }

    if (thousandBits%2==0){
        i+=1;
    }

    System.out.println("偶数为"+i+"个,奇数为:"+(4-i)+"个");

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

public static void main(String[] args) {
    /*开发一个程序,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适。
            十斤左右浮动---------体重-10<0----符合体重
                               体重+10<=10----符合体重
     */

    //Scanner类---------键盘输入体重
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入您的身高:");
    double height = sc.nextDouble();
    System.out.println("您的身高为:"+height);

    System.out.println("请输入您的体重:");
    double weight1 = sc.nextDouble();
    System.out.println("您的体重为:"+weight1);

    //定义体重
    double weight2 = (height-108)*2;
    System.out.println("您的合适体重为体重为:"+(weight2-10)+"-"+(weight2+10));

    //判断
    if (weight1>=(weight2-10) && weight1<=(weight2+10)){
        System.out.println("您的体重合适");
    }else{
        System.out.println("您的体重不合适");
    }

08: 判断此考试成绩为什么等级。90-100之间为优秀;80-89之间为优良;70-79之间为良好;60-69之间为及格;60分以下为不及格。

public static void main(String[] args) {
    /*判断此考试成绩为什么等级。
        90-100之间为优秀
        80-89之间为优良
        70-79之间为良好,
        60-69之间为及格
        60分以下为不及格。
    */

    //Scanner
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入分数:");
    int mark = sc.nextInt();
    System.out.println("你输入的分数为:"+mark);

    //分段if
    if (mark>=90 && mark<=100){
        System.out.println("你的考试成绩为:优秀");
    }else if (mark>=80 && mark<=89){
        System.out.println("你的考试成绩为:优良");
    }else if (mark>=70 && mark<=79){
        System.out.println("你的考试成绩为:良好");
    }else if (mark>=60 && mark<=69){
        System.out.println("你的考试成绩为:及格");
    }else{
        System.out.println("你的考试成绩为:不及格");
    }

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

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

//Scanner键盘录入------导包(import java.util.Scanner)-----创建对象-------获取数据

    Scanner sc = new Scanner(System.in);
    System.out.println("请输入小时数:");
    int hour = sc.nextInt();
    System.out.println("请输入分钟数:");
    int minute = sc.nextInt();
    System.out.println("请输入秒数:");
    int second = sc.nextInt();

    //先判断小时数
    if (hour<=24){
        //再判断分钟
        if (minute<=60){
            //再判断秒
            if (second<=60){
                System.out.println(hour+":"+minute+":"+second);
            }else {
                System.out.println("秒数输入错误");
            }
        }else{
            System.out.println("分钟输入错误");
        }
    }else{
        System.out.println("小时输入错误");
    }

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

能否创建三角形;

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

最后输出三角形面积;

public static void main(String[] args) {
    //键盘录入三边数字
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入三个整数:");
    int a = sc.nextInt();
    int b = sc.nextInt();
    int c = sc.nextInt();

    //首先判断能否构成三角形-------任意两边之和大于第三边
    if ( (a+b > c) && (a+c > b) && (c+b > a)){
        //如果能够构成三角形(根据条件判断什么三角形)
        if(a==b&&b==c){
            System.out.println("等边三角形");        //等边:三条边均相等
        }else if (a==b || a==c || b==c){
            System.out.println("等腰三角形");        //等腰:任意两边相等
        }else if ((a*a + b*b == c*c)||(a*a+c*c==b*b) || (b*b+c*c == a*a)){
            System.out.println("直角三角形");        //直角:勾股定理
        }else{
            System.out.println("普通三角形");
        }
    }else{
        System.out.println("无法构成三角形");
    }

    /*能够构成三角形-------输出面积---------海伦公式:
     *              面积 = sqrt(s(s-a)(s-b)(s-c))
     *              其中 s为半周长-----即(a+b+c)/2
     */
    if ( (a+b > c) && (a+c > b) && (c+b > a)){
        double s = (a+b+c)/2;
        double area = Math.sqrt(s*(s-a)*(s-b)*(s-c));
        System.out.println("三角形面积为:"+area);
    }else{
        System.out.println("无法构成三角形,无法计算面积");
    }

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

public static void main(String[] args) {
    //分析-----输入类型为字符串------通过强制转换转换为int类型---------ASCII表查询对应数字
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个字母:");
    char letter = sc.next().charAt(0);
    //强制转换为int类型
    int a = (int)letter;

    //判断是大写还是小写----------------大写区间ASCII为【65,90】-----小写ASCII区间【97,122】-----差值为32
    if (a>=65&&a<=90){
        a+=32;  //转为小写字母的ASCII值
        char character = (char) a; //将ASCII值转换为字符输出
        System.out.println(character);
    }else if (a>=97&&a<=122){
        a-=32;  //转为大写字母ASCII值
        char character = (char) a;
        System.out.println(character);
    }else{
        System.out.println("输入字母错误");
    }

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

public static void main(String[] args) {
    /*                  使用if结构实现学习成绩
                        >=90分的同学用A表示,
                        60-89分之间的用B表示,
                        60分以下的用C表示。
    */
    //Scanner键盘录入
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入学习成绩:");
    double score = sc.nextDouble();
    System.out.println("您输入的学习成绩为:"+score);

    //判断成绩区间
    if (score>=90){
        System.out.println("A");
    }else if (score>=60){
        System.out.println("B");
    }else{
        System.out.println("C");
    }

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

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

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

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

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

public static void main(String[] args) {
    /*  使用条件结构实现:岳灵珊同学参加到Java的学习,他父亲岳不群和母亲宁中则承诺:
        如果岳灵珊的考试成绩==1OO分,父亲给她买辆车
        如果岳灵珊的考试成绩>=90分,母亲给她买台笔记本电脑
        如果岳灵珊的考试成绩>=60分,母亲给她买部手机
        如果岳灵珊的考试成绩<60分,没有礼物
    */
    //由于是多支区间-------------使用if多支语句

    //Scanner键盘录入Java成绩
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入Java成绩:");
    double javaScore = sc.nextDouble();

    //判断区间
    if (javaScore==100){
        System.out.println("父亲给你买辆车");
    }else if (javaScore>=90){
        System.out.println("母亲给你买台笔记本电脑");
    }else if (javaScore>=60){
        System.out.println("母亲给你买部手机");
    }else{
        System.out.println("没有礼物");
    }

    //结束语句
    System.out.println("程序运行结束");

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

public static void main(String[] args) {
    /*  使用条件结构实现,如果
        用户名等于字符‘青’,密码等于数字‘123’,
        就输出“欢迎你,青”,
        否则就输出“对不起,你不是青”。
    */

    //Scanner键盘录入--------导包(import java.util.Scanner)-------创建对象---------获取数据
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入用户名");
    char name = sc.next().charAt(0);
    System.out.println("请输入三位数密码:");
    int key = sc.nextInt();

    //先判断是否符合条件
    if (name=='青'){
        //再判断密码
        if (key==123){
            String result = "欢迎你,青";
            System.out.println(result);
        }else{
            System.out.println("密码输入错误");
            System.out.println("对不起,你不是青");
        }
    }else{
        System.out.println("用户名输入错误");
        System.out.println("对不起,你不是青");
    }

    //结束语句
    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

   public static void main(String[] args) {
        /*  求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
        */

        //Scanner键盘录入三个变量abc
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入x系数:");
        double a = sc.nextDouble();
        System.out.println("请输入y系数:");
        double b = sc.nextDouble();
        System.out.println("请输入常数:");
        double c = sc.nextDouble();

        //判断是否存在根
        double m = b*b-4*a*c;
        if (m>=0){
            System.out.println("方程有解");
            //判断存在几个根
            if (m>0){
                double x1 = (-b+Math.sqrt(m))/2*a;
                double x2 = (-b-Math.sqrt(m))/2*a;
                System.out.println("存在两个根,分别为:"+x1+"\n"+x2);
            }else{
                double x1 = (-b+Math.sqrt(m))/2*a;
                System.out.println("方程有一个根:"+x1);
            }
        }else{
            System.out.println("方程无解");
        }

        //结束程序
        System.out.println("程序结束运行");

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

    public static void main(String[] args) {
        /*使用switch选择结构实现判断某年某月某日是这一年的第几天?
        *               分析: 1)输入年、月、日
        *                     2)求天数
        */

        //Scanner输入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年份:");
        int year = sc.nextInt();
        System.out.println("请输入月份:");
        int month = sc.nextInt();
        System.out.println("请输入日份:");
        int day = sc.nextInt();

        //定义天数
        int days = day ;

        //switch
        switch(month-1){
            //输入12----代表前面有11个月-----------将前面十一个月相加
            case 11:
                days = days + 30;
            case 10:
                days = days + 31;
            case 9:
                days = days + 30;
            case 8:
                days = days + 31;
            case 7:
                days = days + 31;
            case 6:
                days = days + 30;
            case 5:
                days = days + 31;
            case 4:
                days = days + 30;
            case 3:
                days = days + 31;
            case 2:
                days = days + 28;
            case 1:
                days = days + 31 ;
                break;
            default:
                System.out.println("你输入的数据有误");
                break;
        }

        //闰年2月份加一天
        if (month>2){
            //普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年);
            //            世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰年);
                if ( ( (year%4==0) && (year%100!=0) ) || (year%400==0) ){
                    days+=1;
                    System.out.println("这是这一年的第"+days+"天");
                }else{
                    System.out.println("这是这一年的第"+days+"天");
                }
        }else{
            System.out.println("这是这一年的第"+days+"天");
        }

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

    public static void main(String[] args) {

        // 使用switch选择结构判断一个月份属于一年中的那个季节。(春夏秋冬)
        //输入月份-------输出对应季节-----------
        //12 1 2 冬季------------3 4 5 春季-----------6 7 8 夏季----------9 10 11秋季

        //Scanner输入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入月份:");
        int month = sc.nextInt();

        //判断季节
        switch(month){
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            default:
                System.out.println("您输入的月份有误");
                break;
        }

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值