怎么打印这个循环的小票单
Scanner input = new Scanner(System.in);
String name = ""; //商品名字
double jiage = 0.0; //商品价格
int c1 = 0, c2 = 0, c3 = 0, c4 = 0, c5 = 0, c6 = 0, c7 = 0,
b = 0, a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0;
System.out.print("请选择;购买的商品编号:\n" +
"1:海尔电冰箱\n" +
"2:海尔空调\n" +
"3:海尔电视机\n" +
"4:美的抽烟机\n" +
"5:海尔洗衣机\n" +
"6:美的空调\n" +
"7:美的微波炉\n" +
"******************************\n\n");
System.out.print("\t请输入会员号:");
int a = input.nextInt();
String yas = "y";
do {
System.out.print("\t请输入商品编号:");
b = input.nextInt();
switch (b) {
case 1:
name = "海尔电冰箱";
jiage = 2999.0;
System.out.print("\t请输入数目:");
c1 = input.nextInt();
a1 += c1;
break;
case 2:
name = "海尔空调";
jiage = 1999.0;
System.out.print("\t请输入数目:");
c2 = input.nextInt();
a2 += c2;
break;
case 3:
name = "海尔电视机";
jiage = 1499.0;
System.out.print("\t请输入数目:");
c3 = input.nextInt();
a3 += c3;
break;
case 4:
name = "美的抽烟机";
jiage = 999.0;
System.out.print("\t请输入数目:");
c4 = input.nextInt();
a4 += c4;
break;
case 5:
name = "海尔洗衣机";
jiage = 1899.0;
System.out.print("\t请输入数目:");
c5 = input.nextInt();
a5 += c5;
break;
case 6:
name = "美的空调";
jiage = 1699.0;
System.out.print("\t请输入数目:");
c6 = input.nextInt();
a6 += c6;
break;
case 7:
name = "美的微波炉";
jiage = 1299.0;
System.out.print("\t请输入数目:");
c7 = input.nextInt();
a7 += c7;
default:
System.out.println("\t选择无效");
break;
}
System.out.print("\t是否继续购物(y/n):");
yas = input.next();
} while ("y".equals(yas));
System.out.print(" * * * * * * * * * * * * * * 消费清单 * * * * * * * * * * * * * * * \n" +
"物品\t\t\t\t单价\t\t\t\t个数\t\t\t\t金额\n");
可以定义几个数组来存放个商品的名字,单价,数量,各商品总金额,最后打印小票时用循环遍历各数组信息打印即可,然后加上打印总商品金额。
修改如下:
import java.util.Scanner;
public class PrintTicketsTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
String name = ""; //商品名字
double jiage = 0.0; //商品价格
int c1 = 0, c2 = 0, c3 = 0, c4 = 0, c5 = 0, c6 = 0, c7 = 0,b = 0;
double a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0;
//定义下面几个数组的原因是便于后面用循环来打印信息
int nums[] = new int[] {0,0,0,0,0,0,0};//各商品的数量
double totalMoney[] = new double[] {0,0,0,0,0,0,0}; //各商品总的金额
double allMoneys=0; //所有购买商品的价格
String goodsName[]= new String[]{"海尔电冰箱","海尔空调","海尔电视机","美的抽烟机"
,"海尔洗衣机","美的空调","美的微波炉"}; //七个商品的名字
double prices[] = new double[] {2999.0,1999.0,1499.0,999,1899,1699.0,1299.0}; //各商品的价格
System.out.print("请选择;购买的商品编号:\n" +
"1:海尔电冰箱\n" +
"2:海尔空调\n" +
"3:海尔电视机\n" +
"4:美的抽烟机\n" +
"5:海尔洗衣机\n" +
"6:美的空调\n" +
"7:美的微波炉\n" +
"******************************\n\n");
System.out.print("\t请输入会员号:");
int a = input.nextInt();
String yas = "y";
do {
System.out.print("\t请输入商品编号:");
b = input.nextInt();
switch (b) {
case 1:
name = "海尔电冰箱";
jiage = 2999.0;
System.out.print("\t请输入数目:");
c1 = input.nextInt();
a1 = c1*jiage;
nums[0]+=c1; //后面依次在数组存储各商品的总数量
totalMoney[0]+=a1; //后面依次在数组相应位置存储各商品的总价格
break;
case 2:
name = "海尔空调";
jiage = 1999.0;
System.out.print("\t请输入数目:");
c2 = input.nextInt();
a2 = c2*jiage;
nums[1]+=c2;
totalMoney[1]+=a2;
break;
case 3:
name = "海尔电视机";
jiage = 1499.0;
System.out.print("\t请输入数目:");
c3 = input.nextInt();
a3 = c3*jiage;
nums[2]+=c3;
totalMoney[2]+=a3;
break;
case 4:
name = "美的抽烟机";
jiage = 999.0;
System.out.print("\t请输入数目:");
c4 = input.nextInt();
a4 = c4*jiage;
nums[3]+=c4;
totalMoney[3]+=a4;
break;
case 5:
name = "海尔洗衣机";
jiage = 1899.0;
System.out.print("\t请输入数目:");
c5 = input.nextInt();
a5 = c5*jiage;
nums[4]+=c5;
totalMoney[4]+=a5;
break;
case 6:
name = "美的空调";
jiage = 1699.0;
System.out.print("\t请输入数目:");
c6 = input.nextInt();
a6 = c6*jiage;
nums[5]+=c6;
totalMoney[5]+=a6;
break;
case 7:
name = "美的微波炉";
jiage = 1299.0;
System.out.print("\t请输入数目:");
c7 = input.nextInt();
a7 = c7*jiage;
nums[6]+=c7;
totalMoney[6]+=a7;
break;
default:
System.out.println("\t选择无效");
break;
}
System.out.print("\t是否继续购物(y/n):");
yas = input.next();
} while ("y".equals(yas));
System.out.print(" * * * * * * * * * * * * * * 消费清单 * * * * * * * * * * * * * * * \n" +
"物品\t\t\t\t单价\t\t\t\t个数\t\t\t\t金额\n");
// 用循环来打印商品名字,单价,个数,及其各商品的金额
for(int i=0;i<7;i++) {
if(totalMoney[i]!=0) {
System.out.println(goodsName[i]+"\t\t\t\t"+prices[i]+""
+"\t\t\t\t"+nums[i]+"\t\t\t\t"+totalMoney[i]+"\n");
allMoneys+=totalMoney[i];
}
}
//打印总金额
System.out.println("总金额:\t\t\t\t\t\t\t\t\t\t\t\t"+allMoneys);
}
}