中易网

Java购物结算,卡在不懂do...while跳出循环和最后的总金额。求解决,谢谢

答案:4  悬赏:50  
解决时间 2021-03-07 12:00
Java购物结算,卡在不懂do...while跳出循环和最后的总金额。求解决,谢谢
最佳答案
public static void main(String args[]) {
System.out.println("********************");
System.out.println("");
System.out.println("请选择购买的商品编号:");
System.out.println("1.T恤(¥245.0)网球鞋(¥570.0)网球拍(¥500.0)");
System.out.println("********************");
System.out.println("");
double s = 0;
String d;
do {
System.out.print("请输入商品编号:");
Scanner input = new Scanner(System.in);
int a = input.nextInt();
if (a == 1) {
System.out.print("请输入购买数量:");
int b = input.nextInt();
double c = 245 * b;
System.out.println("T恤¥245.0数量:" + b + "" + "合计:" + c);
s = s + c;
} else if (a == 2) {
System.out.print("请输入购买数量:");
int b = input.nextInt();
double c = 570 * b;
System.out.println("网球鞋¥245.0数量:" + b + "" + "合计:" + c);
s = s + c;
} else if (a == 3) {
System.out.print("请输入购买数量:");
int b = input.nextInt();
double c = 500 * b;
System.out.println("网球拍¥245.0数量:" + b + "" + "合计:" + c);
s = s + c;
} else {
System.out.println("无此商品");
}
System.out.print("是否继续(y/n)");
d = input.next();
System.out.println();
} while (d.equals("y"));
double m = s * 0.8;
System.out.println("折扣:0.8");
System.out.println("应付金额:" + m);
System.out.print("实际金额:");
Scanner input = new Scanner(System.in);
int x = input.nextInt();
System.out.println();

double p = x - m;
System.out.println("找钱:" + p);
}
这样显示就和截图一样了
全部回答
package com.ninemax.vo;
import java.util.Scanner;
public class test {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("********************");
System.out.println("");
System.out.println("请选择购买的商品编号:");
System.out.println("1.T恤(¥245.0)网球鞋(¥570.0)网球拍(¥500.0)");
System.out.println("********************");
System.out.println("");
double s = 0;
String d;
do {
System.out.println("请输入商品编号:");
int a = input.nextInt();
if (a == 1) {
System.out.println("请输入购买数量:");
int b = input.nextInt();
double c = 245 * b;
System.out.println("T恤¥245.0数量:" + b + "" + "合计:" + c);
s = s + c;
} else if (a == 2) {
System.out.println("请输入购买数量:");
int b = input.nextInt();
double c = 570 * b;
System.out.println("网球鞋¥245.0数量:" + b + "" + "合计:" + c);
s = s + c;
} else if (a == 3) {
System.out.println("请输入购买数量:");
int b = input.nextInt();
double c = 500 * b;
System.out.println("网球拍¥245.0数量:" + b + "" + "合计:" + c);
s = s + c;
} else {
System.out.println("无此商品");
}
System.out.println("是否继续(y/n)");
d = input.next();
} while (d.equals("y"));
System.out.println("请支付"+s*0.8+"元");
double x=input.nextDouble();
double m = s * 0.8;
System.out.println("折扣:0.8");
System.out.println("应付金额:" + m);
System.out.println("实际金额:" + s);
double p = x - m;
System.out.println("找钱:" + p);
}
}
刚帮你调测了一下,当你输入"n"的时候,已经跳出循环了,只不过你没有输出提示,以为没出来,
又输入字符了所有报错了,应该是输入金额的,我帮你加了下输出你可以看下结果;
public static void main(String args[]){
System.out.println("********************");
System.out.println("");
System.out.println("请选择购买商品编号:");
System.out.println("1.T恤(¥245.0)网球鞋(¥570.0)网球拍(¥500.0)");
System.out.println("********************");
System.out.println("");
double s=0;
String d;
do{
System.out.println("请输入商品编号:");
Scanner input=new Scanner(System.in);
int a=input.nextInt();
if(a==1){
System.out.println("请输入购买数量:");
int b=input.nextInt();
double c=245*b;
System.out.println("T恤¥245.0数量:"+b+""+"合计:"+c);
s=s+c;
}
else if(a==2){
System.out.println("请输入购买数量:");
int b=input.nextInt();
double c=570*b;
System.out.println("网球鞋¥245.0数量:"+b+""+"合计:"+c);
s=s+c;
}
else if(a==3){
System.out.println("请输入购买数量:");
int b=input.nextInt();
double c=500*b;
System.out.println("网球拍¥245.0数量:"+b+""+"合计:"+c);
s=s+c;
}
else {System.out.println("无此商品");}
System.out.println("否继续(y/n)");
d=input.next();
}while(d.equals("y"));
System.out.println("===========付款===========");
System.out.println("=====输入金额=====");
Scanner input=new Scanner(System.in);
int x=input.nextInt();
double m=s*0.8;
System.out.println("折扣:0.8");
System.out.println("应付金额:"+m);
System.out.println("实际金额:"+x);
double p=x-m;
System.out.println("找钱:"+p);
}
实测发现按n或其他非y的键 循环跳出,输入一个付款金额即可打印出结果。总金额(即付款金额?)计算的也是正确的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么烽火芳菲不能网播
鑫源复印名片印刷怎么去啊,有知道地址的么
跪求 用AE做个电子相册 图片随便 一般的风景
我去年转租了一个小超市,花了差不多3万的租
开机提示未错误 选择安全模式或正常启动或上
丁爱不爱4人》/卜//厂
java编写:某电子门出厂时设置初始密码,不过
万福楼怎么去啊,有知道地址的么
丰麒汽贸有限公司怎么去啊,我要去那办事
闺女不孝顺会不会被判刑
描写美丽心情的成语
幼儿园里的床长一米四宽七十,需要用多大的被
妈咪宝贝精品母婴生活馆地址有知道的么?有点
怎样和人讲话?
我是一个男孩。看到帅气的男孩,我的下面老是
推荐资讯
核电厂的燃料一吨多少钱?
胡婉妹 许佳鑫我们两个的恋爱匹配值
股票多少价位止损好
pix4dmapper怎么处理水域
北京凯拓公寓地址在哪,我要去那里办事
武汉北出口地址在什么地方,想过去办事
哔哩哔哩动画跟吡哩哔哩白什么区别
天下3,我在CC语音上买了个蓉华(女装)时装盒
脑残和神经病有什么区别?大神们帮帮忙
什么是水泥豆石
应该怎么贴壁纸才没缝啊
l我福建的,现在高一 想要考艺术生,想问一下
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?