分支练习题

本文包含一系列编程练习题目,涉及BMI指数计算、年龄与性别条件判断、迷你计算器实现、学生评价、数字性质判断等。通过这些题目,旨在锻炼编程能力和逻辑思维。
摘要由CSDN通过智能技术生成

代码未精简,只做了简单验证,如有错误,还请指正。

1、根据BMI(身体质量指数)显示一个人的体型。
BMI是指身高体重的一个计算公式。
BIM=体重(KG)/身高(m)的平方;
判断条件:指数 说明
低于18.5 过轻
18.5~24.9999 正常
25~27.99999 过重
28~32 肥胖
高于32 非常肥胖
问题:编程输入身高和体重,计算BMI,输出身体状况

import java.util.Scanner;

public class One {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入身高(M):");
        double height = input.nextDouble();
        System.out.println("请输入体重(KG):");
        double weight = input.nextDouble();
        double BMI = weight / Math.pow(height, 2);

        if (BMI < 18.5) {
            System.out.println("您的BMI指数为:" + BMI + " 身体状况:过轻");
        } else if (BMI <= 24.9999) {
            System.out.println("您的BMI指数为:" + BMI + " 身体状况:正常");
        } else if (BMI <= 27.99999) {
            System.out.println("您的BMI指数为:" + BMI + " 身体状况:过重");
        } else if (BMI <= 32) {
            System.out.println("您的BMI指数为:" + BMI + " 身体状况:肥胖");
        } else {
            System.out.println("您的BMI指数为:" + BMI + " 身体状况:非常肥胖");
        }
    }
}

2、搬桌子年龄大于七岁男女都可以搬桌子 年龄小于七岁大于五岁的男生可以搬桌子

import java.util.Scanner;

public class Two {
    public static void main(String[] args) {
        //男boy 女girl
        Scanner input = new Scanner(System.in);
        System.out.println("符合条件的跟我去搬桌子,走!---------");
        System.out.println("请输入您的年龄:");
        int age = input.nextInt();

        if (age >= 7) {
            System.out.println("您可以去搬桌子");
        } else if (age >= 5) {
            System.out.println("请输入您的性别(boy or girl):");
            char gender = input.next().charAt(0);
            if (gender == 'b')
                System.out.println("您可以去搬桌子");
            else
                System.out.println("您不可以去搬桌子");
        } else {
            System.out.println("您不可以去搬桌子");
        }
    }
}

3、迷你计算器 : 输入两个数以及运算符号得出相应

import java.util.Scanner;

public class Three {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("-----迷你计算器-----");
        System.out.println("请输入第一个数:");
        double num1 = input.nextDouble();
        System.out.println("请输入运算符:");
        char operator = input.next().charAt(0);
        System.out.println("请输入第二个数:");
        double num2 = input.nextDouble();

        switch (operator) {
            case '+':
                System.out.println(num1 + num2);
                break;
            case '-':
                System.out.println(num1 - num2);
                break;
            case '*':
                System.out.println(num1 * num2);
                break;
            case '/':
                System.out.println(num1 / num2);
                break;
            default:
                System.out.println("请输入正确的运算符!");
        }
    }
}

4、根据年龄和成绩给学生评价:如果年龄 大于20岁,60分及以上给及格,60分以下告知回去准备补考;如果年龄小于20岁,成绩大于等于60分,夸奖他是个天才,如果成绩低于60分,告诉他不要气馁。

import java.util.Scanner;

public class Four {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入年龄:");
        int age = input.nextInt();
        System.out.println("请输入成绩:");
        double score = input.nextDouble();

        if (age >= 20) {
            if (score >= 60) {
                System.out.println("您的分数是:" + score + " 及格");
            } else {
                System.out.println("您的分数是:" + score + " 不及格,回去准备补考吧");
            }
        } else {
            if (score >= 60) {
                System.out.println("您的分数是:" + score + " 您真是个小天才");
            } else {
                System.out.println("您的分数是:" + score + " 请不要气馁,继续努力");
            }
        }
    }
}

5、从键盘中输入一个数,判断是否为偶数是输出yes否则no

import java.util.Scanner;

public class Five {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数:");
        int num = input.nextInt();

        if (num % 2 == 0)
            System.out.println(num + " yes");
        else
            System.out.println(num + " no");
    }
}

6、从键盘输入两个数(不等数),按照从小到大的顺序输出

import java.util.Scanner;

public class Six {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入第一个数:");
        double num1 = input.nextDouble();
        System.out.println("请输入第一个数:");
        double num2 = input.nextDouble();

        if (num1 > num2) {
            double t = num1;
            num1 = num2;
            num2 = t;
        }
        System.out.println(num1 + " " + num2);
    }
}

7、判断三个数,能否构成三角形(任意一边大于其他两边之差,任意一边小于其他两边之和)

import java.util.Scanner;

public class Seven {
    public static void main(String[] args) {
        //随机生成三个[1-20]的数
        int a = (int) (Math.random() * 10) + 1;
        int b = (int) (Math.random() * 10) + 1;
        int c = (int) (Math.random() * 10) + 1;

        if (a + b > c && a + c > b && b + c > a) {
            System.out.println(a + " " + b + " " + c + "三边 能构成三角形");
        } else
            System.out.println(a + " " + b + " " + c + "三边 不能构成三角形");
    }
}

8、计算个人所得税工资个税的计算公式为:
应纳税额=(工资薪金所得 -扣除数)×适用税率-速算扣除数
扣除标准:个税按3500元/月的起征标准算
在这里插入图片描述

import java.util.Scanner;

public class Eight {
    public static void main(String[] args) {
        //含税级距
        Scanner input = new Scanner(System.in);
        System.out.println("-----个人所得税-----");
        System.out.println("请输入您的月收入(建议输入大于3500):");
        double salary = input.nextDouble();
        double taxIncome = salary - 3500;
        double payTax;

        if (taxIncome <= 1500) {
            payTax = taxIncome * 0.03;
        } else if (taxIncome > 1500 && taxIncome <= 4500) {
            payTax = taxIncome * 0.1 - 105;
        } else if (taxIncome > 4500 && taxIncome <= 9000) {
            payTax = taxIncome * 0.2 - 555;
        } else if (taxIncome > 9000 && taxIncome <= 35000) {
            payTax = taxIncome * 0.25 - 1005;
        } else if (taxIncome > 35000 && taxIncome <= 55000) {
            payTax = taxIncome * 0.3 - 2755;
        } else if (taxIncome > 55000 && taxIncome <= 80000) {
            payTax = taxIncome * 0.35 - 5505;
        } else {
            payTax = taxIncome * 0.45 - 13505;
        }
        System.out.println("您应缴纳税款:" + payTax);
    }
}

9、回文数,输入一个三位数然后确实是否是回文数,当从左到右和从右到左都一样的话就是回文数
​ 例如:121 是 123不是

import java.util.Scanner;

public class Nine {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个三位数:");
        int num = input.nextInt();
        if (!(num > 99 && num < 1000)) {
            System.out.println("请重新输入正确三位数");
        } else {
            int digit = num % 10;
            int hundred = num / 100;
            if (hundred == digit) {
                System.out.println(num + " 是回文数");
            } else
                System.out.println(num + " 不是回文数");
        }
    }
}

10、根据输入的月份,判断该月份有多少天

import java.util.Scanner;

public class Ten {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入月份:");
        int month = input.nextInt();

        switch (month) {
            case 2:
                System.out.println(month + "月有28天");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                System.out.println(month + "月有30天");
                break;
            default:
                System.out.println(month + "月有31天");
        }
    }
}

11、输入一个三位数判断是否是水仙花数,水仙花数是一个三位数
​ 要求为: 个位立方+十位的立方+百位的立方 == 原来的数

import java.util.Scanner;

public class Eleven {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个三位数:");
        int num = input.nextInt();
        if (!(num > 99 && num < 1000)) {
            System.out.println("请重新输入正确三位数");
        } else {
            int digit = num % 10;
            int ten = num % 100 / 10;
            int hundred = num / 100;
            double result = Math.pow(digit, 3) + Math.pow(ten, 3) + Math.pow(hundred, 3);
            if (result == num) {
                System.out.println(num + " 是水仙花数");
            } else
                System.out.println(num + " 不是水仙花数");
        }
    }
}

12、输入一个日期,输出这一天是这一年的第几天,考虑平年闰年
输入:2000-1-1 输出1天
输入:2000-12-31 输出366天

import java.util.Scanner;

public class Twelve {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入年 月 日:");
        int year = input.nextInt();
        int month = input.nextInt();
        int day = input.nextInt();
        int sum = day;

        switch (month - 1) {
            case 12:
                sum += 31;
            case 11:
                sum += 30;
            case 10:
                sum += 31;
            case 9:
                sum += 30;
            case 8:
                sum += 31;
            case 7:
                sum += 31;
            case 6:
                sum += 30;
            case 5:
                sum += 31;
            case 4:
                sum += 30;
            case 3:
                sum += 31;
            case 2:
                if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
                    sum += 29;
                else sum += 28;
            case 1:
                sum += 31;
        }
        System.out.println(year + "-" + month + "-" + day + "共" + sum + "天");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值