2 weixin 39902941 weixin_39902941 于 2017.09.06 17:28 提问

菜鸟请教各路大神这个后续的怎么写,能否给个思路?

import java.util.Scanner;

public class 升级购物结算_待处理 {

public static void main(String[] args) {
    System.out.println("***********************************************");
    System.out.println("请选择购买的商品编号:");
    String ts = "T恤";
    String wqx = "网球鞋";
    String wqp = "网球拍";

    System.out.println("1." + ts + "2." + wqx + "3." + wqp);
    System.out.println("***********************************************");

    Scanner input = new Scanner(System.in);

    int tsprice = 245;
    int wqxprice = 320;
    int wqpprice = 280;

    int tssum;
    int wqxsum;
    int wqpsum;
    String answer = "y";
    while ("y".equals(answer)) {

        System.out.println("请输入商品编号:");
        int number = input.nextInt();

        System.out.println("请输入购买数量");
        int sum = input.nextInt();

        tssum = sum * tsprice;
        wqxsum = sum * wqxprice;
        wqpsum = sum * wqpprice;

        switch (number) {
        case 1:
            System.out.print(ts + "$" + tsprice + "\t");
            System.out.print("数量" + sum + "\t");
            System.out.println("合计$" + tssum);
            break;
        case 2:
            System.out.print(wqx + "$" + wqxprice + "\t");
            System.out.print("数量" + sum + "\t");
            System.out.println("合计$" + wqxsum);
            break;
        case 3:
            System.out.print(wqp + "$" + wqpprice + "\t");
            System.out.print("数量" + sum + "\t");
            System.out.println("合计$" + wqpsum);
            break;
        }
        System.out.println("是否继续(y/n)?");
        answer = input.next();

    }
    double zk = 0.8;
    System.out.println("折扣:" + zk);
    System.out.println("应付金额:");
    System.out.println("实付金额:");
    int money = input.nextInt();
    System.out.println("找钱:");

}

}
就是怎么根据while循环里输入的内容进行结算?
比如,在循环里面已经计算好了,不继续的时候这时跳出循环,从而进行结算.

6个回答

u013240223
u013240223   2017.09.06 17:43

mai 的钱累加不就行了

qq_23292875
qq_23292875   2017.09.06 17:56
tssum    wqxsum       wqpsum   这三个值相加就ok了吧    他们初始值都是0
qq_40129067
qq_40129067   2017.09.06 18:13

我是这样想的(不知道还有没有更简便的方法哈):
先把tssum wqxsum wqpsum这三个值设置成0;
然后再在每一个对应的case下面写
tssum = sum * tsprice;
wqxsum = sum * wqxprice;
wqpsum = sum * wqpprice;
在switch的末尾添上total = tssum + wqxsum + wqpsum

qq493168649
qq493168649   2017.09.06 19:52

在while循环后面加一行代码就行了,注意不要写在循环里面
int total = tssum + wqxsum + wqpsum //接收卖的商品的总价

weixin_39902941
weixin_39902941   2017.09.06 20:16

那个是这样的,当选择1的时候只结算1的钱,
选择2的时候只选择2的钱,
选择3的时候只选择3的钱,
是这样,不是每个的钱的总和.
还有把那个total的语句放在while是可以,
但我的意思是,当选择(y/n) n时,会弹出购物结算的信息,不是过早的显示出来.

weixin_39902941
weixin_39902941   2017.09.06 20:17

也就是没有选择n时,是不显示出来结算信息的

Csdn user default icon
上传中...
上传图片
插入图片