day03
知识点
运算符
题目1(训练)
身高是具有遗传性的,子女的身高和父母的身高有一定的关系。假定,父母和子女的身高遗传关系如下:
儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2
女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2
现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少?
训练提示
-
已知的父母身高如何用代码体现?
-
题目中的公式如何转化为代码?
解题方案
- 使用变量的定义和算术运算符完成本题
操作步骤
-
定义小数变量代表父亲身高
-
定义小数变量代表母亲身高
-
通过儿子身高计算方式计算儿子身高
-
通过女儿身高计算方式计算女人身高
参考答案
public class Zuoye {
static void main() {
int father = 177;
int mother = 165;
double son = (father + mother) * 1.08 / 2;
double gril = (father * 0.923 +mother) / 2;
System.out.println("儿子预计身高" + son + "厘米");
System.out.println("女儿预计身高" + gril + "厘米");
}
}
题目2(训练)
红茶妹妹有21元钱,她攒了几天钱之后自己的钱比原来的两倍还多三块。绿茶妹妹有24元钱,她攒了几天钱之后自己的钱正好是原来的两倍。那么红茶和绿茶现在的钱一样多,请问对么?
训练提示
- 用什么知识点来计算她们现在的钱有多少?
- 如何对比两个人的钱数?
解题方案
- 使用赋值运算符和算术运算符计算各自的钱,使用比较运算符对比大小
操作步骤
- 定义红茶妹妹原来的钱为整数变量
- 定义绿茶妹妹原来的钱为整数变量
- 使用赋值运算符和算术运算符计算其现有的钱
- 使用比较运算符对数值做出比较
参考答案
public class Zuoye {
static void main() {
int a = 21;
a = a * 2 + 3;
int b = 24;
b = b * 2;
boolean result = a == b;
System.out.println(result);
}
}
题目3(综合)
某小伙想定一份外卖,商家的优惠方式如下:鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。订单满30元8折优惠。鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。那么这个小伙要点这三样东西,最少要花多少钱?
训练提示
- 有两种购买方式,一种是不使用优惠价,另一种是使用优惠价。分别计算花费后,对两种方式的花费作对比。
解题方案
- 使用算术运算符、赋值运算符和三元运算符联合完成本题
操作步骤
- 使用算术运算符求出不使用优惠时的总价
- 使用三元运算符判断总价是否满足打折条件,并求出折后总价
- 使用算术运算符求出使用优惠价时的总价
- 使用三元运算符判断最终更合算的购买方式和花费
参考答案
public class Zuoye {
public static void main(String[] args) {
double money1 = 24 + 8 + 3;
money1 = (money1 >= 30 ? money1 * 0.8 : money1);
double money2 = 16 + 8 + 3;
double money = money1 < money2 ? money1 : money2;
System.out.println(money);
}
}
题目4
看代码说结果,不要去运行。
System.out.println(2.0*(5/2));
- 4
- 4.0
- 5
- 5.0
- 以上答案都不对
4.0
题目5:
看代码说结果,不要去运行。
String firstName = "Tomas";
String familyName = "Zhang";
打印firstName + familyName 之后是什么结果?
TomasZhang
题目6:
需求:
数字6是一个真正伟大的数字,键盘录入两个整数。
如果其中一个为6,最终结果输出true。
如果它们的和为6的倍数。最终结果输出true。
其他情况都是false。
import java.util.Scanner;
public class Zuoye {
static void main() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int number1 = sc.nextInt();
System.out.println("请输入第二个整数");
int number2 = sc.nextInt();
boolean result = number1 == 6 || number2 == 6 || number1 + number2 == 6;
System.out.println(result);
}
}
题目7:
需求:
键盘录入一个三位数,求这个三位数每一位的数字和。
举例:
键盘录入123。那么每一位数字相加为:1 + 2 + 3,和为:7。
import java.util.Scanner;
public class Zuoye {
static void main() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数");
int number = sc.nextInt();
int number1 = number % 10;
int number2 = (number / 10) % 10;
int number3 = number / 100;
int number4 = number1 + number2 + number3;
System.out.println("每位数字相加为:" + number3 + '+' + number2 + '+' + number1);
System.out.println("和为:" + number4);
}
}