一、if判断语句作业
题目1
李雷想买一个价值7988元的新手机,她的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新的优惠,把她的旧手机交给店家,新手机就能够打8折优惠。为了更省钱,李雷要不要以旧换新?请在控制台输出。
训练提示
- 用什么知识点能够对不同购买方式的价格做判断?
解题方案
- 使用if…else语句判断
操作步骤
- 计算不使用以旧换新时的花费。
- 计算使用以旧换新时的花费。
- 使用if…else语句判断哪种方式更省钱,并输出结果
参考答案
package HomeWork;
public class IfWork1 {
public static void main(String[] args) {
int price = 7988;
int NewPrice1 = 7988-1500;
double NewPrice2 = 7988*0.8;
if(NewPrice1>=NewPrice2){
System.out.println("以旧换新"+NewPrice2);
}else{
System.out.println("二手市场"+NewPrice1);
}
}
}
题目2
让用户依次录入三个整数,求出三个数中的最小值,并打印到控制台。
训练提示
- 如何完成用户录入?
- 求最小值需要用到什么知识点?
解题方案
-
使用Scanner键盘录入三个数字,使用三元运算符实现
-
使用Scanner键盘录入三个数字,使用if…else的嵌套实现(不做要求)
操作步骤
- 使用三次键盘录入的方法让用户输入三个整数
- 使用三元运算符求出最小值
- 打印输出最小值
备注:
本题,也可以使用if嵌套的方式书写,但是非常麻烦,建议用三元运算符。
可以自己试着写一下if嵌套方式,然后跟三元运算符方式进行对比一下,看看谁更简单。
参考答案
package HomeWork;
import java.util.Scanner;
//让用户依次录入三个整数,求出三个数中的最小值,并打印到控制台。
public class IfWork2 {
public static void main(String[] args) {
//键盘录入三个整数
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int i = sc.nextInt();
System.out.println("请输入第二个整数");
int j = sc.nextInt();
System.out.println("请输入第三个整数");
int k = sc.nextInt();
//三元运算符实现两两相比
int temp = i>j ? i : j;
int max = temp>k ? temp : k;
System.out.println(max);
}
}
题目3(一般难度)
某银行推出了整存整取定期储蓄业务,其存期分为一年、两年、三年、五年,到期凭存单支取本息。存款年利率表如下:
存期 年利率(%)
一年 2.25
两年 2.7
三年 3.25
五年 3.6
请存入一定金额(1000起存),存一定年限(四选一),计算到期后得到的本息总额。
提示:
存入金额和存入年限均由键盘录入
本息计算方式:本金+本金×年利率×年限
训练提示
- 使用什么方式让用户输入内容?
- 使用哪种if语句的格式对信息作出判断?
解题方案
- 使用Scanner和if…else…的嵌套操作。
操作步骤
- 键盘录入金额和年份。
- 使用多条件if…else判断年份,计算本息金额。
- 输出结果。
参考答案
package HomeWork;
import java.util.Scanner;
public class IfWork3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入存入金额");
int i = sc.nextInt();
System.out.println("请输入存入年限");
int j = sc.nextInt();
double money;
if (i<1000){
System.out.println("金额不足,存入失败");
}else{
switch (j){
case 1:
money = i+i*0.0225*j;
System.out.println("到期后本息总额为"+ money);
break;
case 2:
money = i+i*0.027*j;
System.out.println("到期后本息总额为"+ money);
break;
case 3