题目一:
训练要点: while循环结构 程序调试 需求说明: 循环输入商品编号,显示对应的商品价格 输入“n”结束循环 实现思路: 1、声明变量 2、循环体 3、循环条件 难点指导: 循环体内使用switch。
基本代码:
/**
* @筮堆
*/
package com.etc.july26.ui;
import java.util.Scanner;
public class Zuoye1 {
public static void main(String[] args) {
boolean f = true;
System.out.println("myshoppingg购物系统>购物结算\n");
System.out.println("**************************\n请选择购买的商品编号:\n1.T恤 \t2.网球鞋\t 3.网球拍");
System.out.print("**************************\n请输入商品编号:");
Scanner input = new Scanner(System.in);
if (input.hasNextInt()){
while(f){
int q = input.nextInt();
switch (q) {
case 1:
System.out.println("T恤 ¥ 245.0");
break;
case 2:
System.out.println("网球鞋 ¥ 570.0");
break;
case 3:
System.out.println("网球拍 ¥ 60.0");
break;
default:
System.out.println("只能输入1-3");
break;
}
System.out.println("是否继续(y/n)");
f = false;
String i = input.next();
if (i.equals("y")) {
f=true;
System.out.print("**************************\n请输入商品编号:");
}
}
System.out.println("程序结束!");
}else {
System.out.println("只能输入数字");
}
}
}
运行结果(部分):
题目二:
需求说明: 循环输入商品编号和购买数量 当输入n时结账 结账时计算应付金额并找零。
基本代码:
/**
* @筮堆
*/
package com.etc.july26.ui;
import java.util.Scanner;
public class Zuoye2 {
public static void main(String[] args) {
System.out.println("********************************\n请选择购买的商品编号:\n1.T恤 \t2.网球鞋\t 3.网球拍\n********************************");
boolean f = true;
double mm = 0;
Scanner input = new Scanner(System.in);
System.out.print("请输入商品编号:");
if (input.hasNextInt()) {
int thing = input.nextInt();
System.out.print("请输入购买数量:");
if (input.hasNextInt()) {
int mun = input.nextInt();
while (f) {
switch (thing) {
case 1:
mm += (245*mun);
System.out.println("T恤 ¥ 245.0" +"\t" + "数量:" + mun + "\t" + "合计:¥" + mm);
break;
case 2:
mm += (570*mun);
System.out.println("网球鞋 ¥570.0" +"\t" + "数量:" + mun + "\t" + "合计:¥" + mm);
break;
case 3:
mm += (60*mun);
System.out.println("网球拍 ¥60.0" +"\t" + "数量:" + mun + "\t" + "合计:¥" + mm);
break;
default:
System.out.println("只能是1-3");
break;
}
System.out.println("是否继续?");
f = false;
String id = input.next();
if (id.equals("y")) {
f = true;
System.out.print("请输入商品编号:");
thing = input.nextInt();
System.out.print("请输入购买数量:");
mun = input.nextInt();
}
}
System.out.println("折扣:0.8");
System.out.println("应付金额:" + (mm * 0.8));
System.out.print("实付金额:");
int a = input.nextInt();
System.out.println("找零:" + (a - mm));
}
}
}
}
运行结果(部分):
题目三:
需求说明: 如果用户输入错误,可以重复输入直到输入正确,执行相应的操作后退出循环。
基本代码:
/**
* @筮堆
*/
package com.etc.july26.ui;
import java.util.Scanner;
public class Zuoye3 {
public static void main(String[] args) {
boolean f = true;
System.out.println("欢迎使用myshopping购物管理系统\n");
System.out.println("******************************\n");
System.out.println("\t1.客 户 信 息 管 理\n\t2.购 物 结 算\n\t3.真 情 回 馈\n\t4.注 销");
System.out.println("\n******************************");
System.out.print("请选择,输入数字:");
while(f){
Scanner input = new Scanner(System.in);//初始化变量
int a = input.nextInt();
if (a>4)
{
System.out.print("输入错误,重新输入数字");
}else {
switch (a) {
case 1:
System.out.println("1.客 户 信 息 管 理\n\n程序结束");
break;
case 2:
System.out.println("2.购 物 结 算\n\n程序结束");
break;
case 3:
System.out.println("3.真 情 回 馈\n\n程序结束");
break;
case 4:
System.out.println("4.注 销\n\n程序结束");
break;
default:
break;
}
f = false;
}
}
}
}
运行结果(部分):