【编程1】
画出流程图并编程实现:按会员优惠计划进行购物结算
需求说明
商场购物可以打折,具体办法如下:普通顾客购物满100元打9折;会员购物打8折;会员购物满200元打7.5折,请根据此优惠计划进行购物结算。
程序运行结果如图所示。
输出顾客实际购物价格
实现思路及关键代码
(1)使用嵌套if选择结构实现。
(2)先判断顾客是否是会员,在if选择结构内再判断顾客购物是否达到相应打折的数量要求,根据判断结果做不同的处理。
import java.util.Scanner;
public class me {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//用于键盘输入输入的值为scanner
String member;
//定义会员的变量
System.out.println("请输入是否是会员:是(y)/否(其他字符)");
member = scanner.next();
//会员变量等于从键盘输入的值
double money;
//定义金额
System.out.println("请输入购物金额:");
money = scanner.nextDouble();
//金额变量等于从键盘输入的值
if (member.equals("y")) {
//equals()判断是否相等
if (money >= 100 && money < 200) {
//如果金额大于等于100小于200
System.out.println("会员实际支付:" + money * 0.8);
}
if (money >= 200) {
//如果金额大于等于200
System.out.println("会员实际支付:" + money * 0.75);
}
if (money < 100) {
//金额小于100
System.out.println("会员实际支付:" + money);
}
} else {
//否则
if (money >=100) {
//非会员
//金额的大于等于100
System.out.println("非会员支付:" + money * 0.9);
} else {
//否则
System.out.println("非会员支付:" + money);
}
}
}
}
【编程2】
画出流程图并编程实现:计算会员折扣。
需求说明
会员购物时,根据积分的不同享受不同的折扣,如表所示。从键盘上输入会员积分,计算该会员购物时获得的折扣。
会员折扣表
程序运行结果如图所示。
上机练习运行结果
提示: 使用Eclipsee平台创建文件,命名为CalcDiscount.java
利用图3.17所示的数轴来分界,使用多重if选择结构实现。
图3.17数轴
代码实现:
import java.util.Scanner;
public class CalcDiscount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//可以用于键盘输入
System.out.println("请输入会员积分:");
int x;
//定义变量
x=scanner.nextInt();
//输出键盘输入的数值
//x=积分
if (x<2000){
//如果积分小于2000则打印折扣是0.9折
System.out.println("该会员享受的折扣是:0.9");
}else{
if (2000<=x&&x<=4000){
//&&:表示and,如果积分大于等于2000小于4000
System.out.println("该会员享受的折扣是:0.8");
}else{
if (x>=4000&&x<8000){
//如果积分大于等于4000小于8000
System.out.println("该会员享受的折扣是:0.7");
}else{
//否则x大于等于8000
System.out.println("该会员享受的折扣是:0.6");
}
}
}
}
}
【编程3】
画出流程图并编程实现:从键盘获取小张Java的成绩和音乐的成绩。如果小张的Java成绩大于98分,而且音乐成绩大于80分,则老师奖励他;或者如果其Java成绩等于100分,而且音乐成绩大于70分,老师也可以奖励他。
程序运行结果如图所示:
代码如下:
import java.util.Scanner;
public class Score {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//在键盘输入成绩
System.out.println("音乐成绩:");
double scorem;
//音乐成绩
scorem = scanner.nextDouble();
//打印出输入的音乐成绩
System.out.println("java成绩:");
double scorejava;
//java成绩
scorejava = scanner.nextDouble();
//打印输入的java成绩
if (scorem>80&&scorejava>98){
//如果音乐成绩大于80 and java成绩大于98
System.out.println("老师说:不错,奖励一个MP4!");
}else if(scorejava>=100&&scorem>70){
//如果java成绩等于100 and 音乐成绩大于70
System.out.println("老师说:不错,奖励一个MP4!");
}else {
//否则成绩不合格
System.out.println("不好意思,成绩不合格!没有奖励~");
}
}
}
【编程4】
画出流程图并编程实现:实现幸运抽奖
需求说明
商场实行新的抽奖规则:如果会员号的千位数字等于产生的随机数字,则该会员为幸运会员,且实现如下要求。
从键盘上接收会员号。
使用if-else选择结构实现幸运抽奖。
运行结果如图所示。
幸运会员输出结果
非幸运会员输出结果
实现思路及关键代码
(1)产生随机数。
(2)从控制台接收一个4位会员号。
(3)分解获得的千位数。
代码:
import java.util.Random;
import java.util.Scanner;
public class LuckyMember {
public static void main(String[] args) {
System.out.println("我行我素购物管理系统> 幸运抽奖");
Random Ran = new Random();
//生成对象
int y;
//中奖的号码(随机数)
y=Ran.nextInt(9000)+1000;
//生成1000~9999之间的随机数
//System.out.println("生成的随机数:"+y);//查看随机生成的随机数方便验证
//输入会员号
System.out.println("请输入4位会员号:");
Scanner scanner = new Scanner(System.in);
int x;
//会员号
x=scanner.nextInt();
//获取从键盘输入的数字
if (x==y){
//如果输入的会员号等于随机生成的号码数
System.out.println(x+"号客户是幸运客户,获精美MP3一个。");
}else{
//否则
System.out.println(x+"号客户,谢谢您的支持!");
}
}
}
【编程5】
第一题:编程实现:键盘输入用户名和密码。如果用户名等于字符‘青’,且密码等于数字123,则输出“欢迎你,青”;否则,输出“对不起,你不是青”。
提示:使用equals方法判断两个字符串是否相等。
import java.util.Scanner;
public class Users {
public static void main(String[] args) {
Scanner user = new Scanner(System.in);
//从键盘输入
System.out.println("请输入用户名:");
String name;
//定义用户名
name=user.nextLine();
//接受输入的用户名
int password=123;
//密码
System.out.println("请输入密码:");
password=user.nextInt();
//接受输入的密码
if (name.equals("青")){
//equals()判断是否相等
if (password==password){
//判断密码是否正确
System.out.println("欢迎你,青");
}
}else {
System.out.println("对不起,你不是青");
}
}
}
第二题:编程实现:键盘输入年龄和性别。如果年龄满7岁,或者年龄满5岁并且性别是“男”,就可以搬动桌子。
提示:使用if选择结构实现,判断条件是年龄大于等于7,或年龄大于等于5且性别是男。
import java.util.Scanner;
public class Age {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//从键盘输入
System.out.println("请输入性别:");
String sex;
//定义性别
sex=scanner.nextLine();
//接受输入的的性别
int age;
//年龄
System.out.println("请输入年龄:");
age=scanner.nextInt();
//接受输入的年龄
if (sex.equals("男")){
//equals()判断是否相等,判断是不是男生
if (age>=5){
//判断年龄
System.out.println("能搬得动桌子");
}else {
//否则
System.out.println("不能搬得动桌子");
}
}else if (age>7){
//年龄大于七岁
System.out.println("能搬动桌子");
}else {
//否则不能搬桌子
System.out.println("不能搬得动桌子");
}
}
}
【编程6】
画出流程图并编程实现:从键盘上输入3个整数,分别赋给整型变量a、b、c,然后将输入的整数按照从小到大的顺序放在变量a、b、c中,并输出3个变量的值。
提示:进行比较和交换值操作。首先让a与b、a与c进行比较,保证a是3个整数中最小的,然后让b与c进行比较,保证b是两个数中最小的。
import java.util.Scanner;
public class Rather {
public static void main(String[] args) {
Scanner score = new Scanner(System.in);
//从键盘输入变量
System.out.println("请输入");
int a;
int b;
int c;
a = score.nextInt();
//接收a的值
b = score.nextInt();
//接收b的值
c = score.nextInt();
//接收c的值
//三个变量比较大小有六种情况,a<b<c,c<a<b,a<c<b,b<a<c,c<b<a,b<c<a
if (a < b) {
//如果a小于b,c大于b在,则a最小
if (c > b) {
System.out.println(a+"<"+b+"<"+c);
//输出a<b<c
}else if (c<a){
//如果a小于b,c小于a,则c是最小,输出c<a<b
System.out.println(c+"<"+a+"<"+b);
}else {
//没有满足上述条件的话就是a<c<b
System.out.println(a+"<"+c+"<"+b);
}
}else {
if (a<c){
//如果a小于c,b<a<c
System.out.println(b+"<"+a+"<"+c);
}else if (c<b){
//如果c大于b,c<b<a
System.out.println(c+"<"+b+"<"+a);
}else {
//b<c<a
System.out.println(b+"<"+c+"<"+a);
}
}
}
}
【编程7】
画出流程图并编程实现:某人准备去海南旅游,现在要订购机票。机票的价格受季节旺季、淡季的影响,头等舱和经济舱价格也不同。假设机票原价为6500元,4-10月为旺季,旺季头等舱打九折,经济舱打八折,淡季头等舱打五折,经济舱打四折。编写程序,使用嵌套if选择结构,根据出行的月份和选择的舱位输出实际的机票价格,如图3.18所示。
提示: 判断出行月份是旺季还是淡季。
对于旺季、淡季月份均判断舱位类型。
使用equals方法判断两个字符串是否相等。
运行结果
import java.util.Scanner;
public class Test006 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入出行月份(1~12):");
int month = sc.nextInt();
System.out.println("选择头等舱还是经济舱?输入T为头等舱,输入J为经济舱");
String c = sc.next();
int pj= 6500;
System.out.println("您选择的机票价格为:");
if (c.equals("T")){
//头等舱
if (month>=4&&month<=10){
pj*=0.9;
}else {
pj*=0.5;
}
}else{ //经济舱
if (month>=4&&month<=10){
pj*=0.8;
}else{
pj*=0.4;
}
}
System.out.println("您选择地机票价格为:"+pj);
}
}