javaSE课后练习
1.BMI是根据体重测量健康的方式。通过以千克为单位的体重除以以米为单位的身高的平方计算出BMI。下面是16 岁以上人群的BMI图表:
编写一个程序,提示用户输人以磅为单位的体重和以英寸为单位的身高,然后显示BMI值。注意: 1磅是0.453592 37千克而1英寸是0.0254米。程序清单4-6给出这个程序。
import java.util.Scanner;
public class work02 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入身高:");
System.out.println("请输入体重:");
double height = scan.nextInt();
double weight = scan.nextInt();
judgeBMI(weight, height);
}
public static void judgeBMI(double weight, double height) {
double bmi = weight * 0.45359237 / Math.pow((height * 0.0254), 2);
if (30 <= bmi) {
System.out.println("痴肥,你好自为之!");
} else if (30 > bmi && bmi >= 25) {
System.out.println("超重,该减肥了!");
} else if (25 > bmi && bmi >= 18.5) {
System.out.println("标准,但别太飘了,小心长胖!");
} else if (bmi < 18.5) {
System.out.println("超轻,太瘦了,多吃点!");
}
System.out.println("bmi是:" + bmi);
}
}
结果演示:
2.一个年份如果能被4整除但不能被100 整除,或能被400整除,那么这个年份就是闰年。
import java.util.Scanner;
public class work03 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入年份:");
double year = scan.nextInt();
if (year % 4 == 0 && year % 100 != 0) {
System.out.println("该年为闰年!!!");
} else if (year % 400 == 0) {
System.out.println("该年为闰年!!!");
} else {
System.out.println("又不是闰年,激动啥???");
}
}
}
结果演示:
3.假设你想开发- -个玩彩票的程序。程序随机产生一个两位数的数字,然后提示用户输人一个两位数的数字,并根据以下规则判定用户是否赢得奖金。
1 )如果用户输人的数字和随机产生的数字完全相同(包括顺序),则奖金为10000美元。
2)如果用户输人的数字和随机产生的数字相同(不包括顺序),则奖金为3000美元。
3)如果用户输人的数字和随机产生的数字有一-位数相同,则奖金为1000美元。
import java.util.Scanner;
public class work04 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个两位数:");
int num1 = scan.nextInt();
int player1 = num1 % 10;
int player2 = num1 / 10;
int num2 = (int)(Math.random() * 90 + 10);
int computer1 = num2 % 10;
int computer2 = num2 / 10;
System.out.println("我们的数字是:" + num1);
if (player1 == computer1 && player2 == computer2) {
System.out.println("恭喜你,猜的完全正确,获得10000美元奖金!!!");
} else if (player1 == computer2 && player2 ==computer1) {
System.out.println("恭喜你,两个数都猜对了,获得3000美元奖金!!!");
}else if (player1 == computer1 || player1 == computer2 || player2 == computer1 || player2 == computer2) {
System.out.println("恭喜你,猜对了一个数,获得1000美元奖金!!!");
}else {
System.out.println("恭喜你成功避开了答案,欢迎下次再来!");
}
System.out.println("电脑的数字是:" + num2);
}
}
结果演示:
4.(回文数)编写程序提示用户输入一个三位整数,然后决定它是否是一一个回文数。如果一个数从左向右和从右向左读取时是-样的,那么这个数就是回文数。下面是这个程序的示例运行。
import java.util.Scanner;
public class work1 {
public static void main(String[] args) {
Scanner se = new Scanner(System.in);
System.out.println("请输入一个三位数:");
int num = se.nextInt();
if (num / 100 == num % 10) {
System.out.println("该数是回文数");
} else {
System.out.println("该数不是回文数");
}
}
}
结果演示: