各位大侠帮帮忙

问题描述

小弟我刚接触JAVA不是太明白。有一个这样题目,我不懂。希望各位好心人帮下忙!可能的话在帮我讲解下!谢谢了***********************************************1.T恤2.网球鞋3.网球拍***********************************************请输入商品编号:1请输入购买数量:2T恤¥245.0¥490.0是否继续(Y/N)Y请输入商品编号:2请输入商品数量:1网球鞋¥570.0¥570.0是否继续(Y/N)N折扣:0.8金额总计¥848.0实际交费¥900找钱¥52.0

解决方案

解决方案二:
packagetest;importjava.util.Scanner;publicclassTestBuyer{/***@paramargs*/publicstaticvoidmain(String[]args){longsum=0l;System.out.println("***********************************************");System.out.println();System.out.println("1.T恤2.网球鞋3.网球拍");System.out.println("***********************************************");System.out.println();while(true){longsinglePrice=0l;System.out.print("请输入商品编号:");Scannersc1=newScanner(System.in);Stringsc1Value=sc1.next();System.out.print("请输入购买数量:");Scannersc2=newScanner(System.in);Stringsc2Value=sc2.next();switch(newInteger(sc1Value).intValue()){case1:singlePrice+=newInteger(sc2Value).intValue()*245.0;System.out.println("T恤¥245.0"+singlePrice);sum+=singlePrice;break;case2:singlePrice+=newInteger(sc2Value).intValue()*570.0;System.out.println("网球鞋¥570.0"+singlePrice);sum+=singlePrice;break;case3:singlePrice+=newInteger(sc2Value).intValue()*650.0;System.out.println("网球拍¥650.0"+singlePrice);sum+=singlePrice;break;default:System.out.print("输入错误");}System.out.print("是否继续(Y/N)");Scannersc3=newScanner(System.in);if(sc3.next().equalsIgnoreCase("N")){break;}}System.out.println("折扣:0.8");System.out.println("金额总计¥"+sum);System.out.print("实际交费¥");Scannersc=newScanner(System.in);longremain=newLong(sc.next()).longValue()-sum;if(remain<0){System.out.println("实际交费不足");}else{System.out.println("找钱¥"+remain);}}}

解决方案三:
不好意思,sum和singlePrice应该是double型的
解决方案四:
支持楼上的
解决方案五:
publicstaticvoidmain(String[]args)throwsException{System.out.println("***********************************************n1.T恤2.网球鞋3.网球拍n***********************************************");booleanisContiune=true;BufferedReaderreader=newBufferedReader(newInputStreamReader(System.in));Stringstr=null;intnum=0;intcount=0;intprice=0;Stringname=null;intsumprice=0;while(isContiune){System.out.println("请输入商品编号:");str=reader.readLine();num=Integer.valueOf(str);name=num==1?"T恤":num==2?"网球鞋":"网球拍";System.out.println("请输入购买数量:");str=reader.readLine();count=Integer.valueOf(str);price=num==1?245:num==2?570:500;sumprice+=price;System.out.println(name+"t¥"+price+"t¥"+price*count);System.out.println("是否继续(Y/N");str=reader.readLine();if("n".equalsIgnoreCase(str)){isContiune=false;}}System.out.println("输入折扣:");str=reader.readLine();doublediscount=Double.valueOf(str);System.out.println("折扣:"+discount);System.out.println("金额总计:"+sumprice);System.out.println("实际缴费:¥"+900);System.out.println("找钱:"+(900-sumprice));}

解决方案六:
我是把各个方法都封装起来的楼主看下:importjava.util.*;publicclassRetailer{privatestaticfinaldoubleTSHIRT_PRICE=245.0;privatestaticfinaldoubleSNEAKER_PRICE=570.0;privatestaticfinaldoubleRACKET_PRICE=700.0;//这个是我自己加的privatestaticintpieces;privatestaticintoption;privatestaticdoublediscount,change,sum;publicstaticvoidrequestProduct(){System.out.println("请输入商品编号:");}publicstaticvoidrequestNum(){System.out.println("请输入购买数量:");}publicstaticvoidrequestDiscount(){System.out.println("折扣:");}publicstaticvoidrequestMoney(){System.out.println("实际交费:");}publicstaticvoiddealRequestProduct(Stringstr){if(str.equals("1"))option=1;elseif(str.equals("2"))option=2;elseoption=3;}publicstaticvoiddealDiscount(Stringstr){discount=Double.parseDouble(str);sum*=discount;}publicstaticvoiddealMoney(Stringstr){doubletemp=Double.parseDouble(str);System.out.println("实际缴费:"+temp);change=temp-sum;}publicstaticvoiddealRequestNum(Stringstr){pieces=Integer.parseInt(str);if(option==1)sum+=TSHIRT_PRICE*pieces;elseif(option==2)sum+=SNEAKER_PRICE*pieces;elsesum+=RACKET_PRICE*pieces;}publicRetailer(){Stringstr;Scannerscanner;System.out.println("***********************************************n1.T恤2.网球鞋3.网球拍n***********************************************nn");do{scanner=newScanner(System.in);requestProduct();str=scanner.nextLine();dealRequestProduct(str);requestNum();str=scanner.nextLine();dealRequestNum(str);System.out.println("n是否继续?输入"Y"继续选购程序,输入"N"退出。n");str=scanner.nextLine();}while(!str.toUpperCase().equals("N"));requestDiscount();str=scanner.nextLine();dealDiscount(str);System.out.println("金额总计:"+sum);requestMoney();str=scanner.nextLine();dealMoney(str);System.out.println("找钱:"+change);}publicstaticvoidmain(Stringargs[]){newRetailer();}}

解决方案七:
importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassSport{publicstaticvoidmain(String[]args)throwsException{System.out.println("***********************************************");System.out.println("1.T恤2.网球鞋3.网球拍");System.out.println("***********************************************");Stringtext1="";Stringtext2="";Stringtext3="";Stringtext4="";Stringtext5="";doublesum1=0;booleanflag=true;while(flag){BufferedReaderbufferedReader1=newBufferedReader(newInputStreamReader(System.in));try{System.out.print("请输入商品编号:");text1=bufferedReader1.readLine();System.out.print("请输入购买数量:");text2=bufferedReader1.readLine();}catch(IOExceptione){e.printStackTrace();}doublesum2=0;try{switch(Integer.parseInt(text1)){case1:sum1+=245.0*Integer.parseInt(text2);sum2+=245.0*Integer.parseInt(text2);System.out.println("T恤¥245.0"+sum2);break;case2:sum1+=570.0*Integer.parseInt(text2);sum2+=570.0*Integer.parseInt(text2);System.out.println("T恤¥570.0"+sum2);break;case3:sum1+=100.0*Integer.parseInt(text2);sum2+=100.0*Integer.parseInt(text2);System.out.println("T恤¥100.0"+sum2);break;}}catch(Exceptione){System.out.println("输入错误!");e.printStackTrace();}System.out.print("是否继续(Y/N):");try{text3=bufferedReader1.readLine();}catch(IOExceptione){e.printStackTrace();}if(!("Y".equalsIgnoreCase(text3))){flag=false;System.out.print("折扣:");try{text4=bufferedReader1.readLine();}catch(IOExceptione){e.printStackTrace();}try{System.out.println("金额总计¥"+sum1*Double.parseDouble(text4));}catch(Exceptione){System.out.println("输入错误!");e.printStackTrace();}System.out.println("实际交费¥:");try{text5=bufferedReader1.readLine();}catch(IOExceptione){e.printStackTrace();}try{System.out.println("找钱¥"+(Double.parseDouble(text5)-sum1*Double.parseDouble(text4)));}catch(Exceptione){System.out.println("输入错误!");e.printStackTrace();}}else{flag=true;}sum2=0;}}}
解决方案八:
还不如用c实现呢
解决方案九:
路过

时间: 2024-10-08 11:38:14

各位大侠帮帮忙的相关文章

正则表达式。在线等,各位大侠帮帮忙

问题描述 正则表达式.在线等,各位大侠帮帮忙 这个里面可以加个验证不能为0吗,怎么加? 解决方案 像这种就没必要跟正则再混一起判断,直接加一个0的if判断即简单,也不容易出错.不要为了正则而正则. 解决方案二: 把 d 换成[1-9] 解决方案三: d是[0-9]想要其他自己写[1-9] 解决方案四: 再建立一个为0的正则来匹配 var zero = /0/; if(zero.test(obj.currentTarget.value){ $.messager.alert("通知信息",

mina 在发送长报文时,为什么被截成好几段呢。请大侠帮帮忙。

问题描述 mina在发送长报文时,为什么被截成好几段呢.请大侠帮帮忙. 解决方案 解决方案二:这个是必然的.物理限制,和mina无关.你使用的默认解码器或者自己写的解码器的一个功能,就是将可能的N个物理包,变成一个逻辑包.每个逻辑包,包头应当由标志位(这个逻辑包是什么数据)以及长度位(这个逻辑包长度是多少,个别固定长度的逻辑包,可以省略).每次,解码的时候,读取bytebuffer的头,看看当前解析的是什么包,然后长度是多少,再比较一下,当前的bytebuffer长度够不够,如果不够的话,则将b

eclipse-模糊搜索,为什么只显示一条信息,代码如下,请各位大侠帮帮忙吧

问题描述 模糊搜索,为什么只显示一条信息,代码如下,请各位大侠帮帮忙吧 Dim texts As StringDim mrc As ADODB.RecordsetSet mrc = New ADODB.RecordsetSet mrc = ExecuteSQL(txtsql1) 'If mrc.EOF = False Then With MSF1 .Rows = 22 .Row = 1 mrc.MoveFirst Do While Not mrc.EOF For i = 1 To 2 .Text

tomcat-Tomcat启动不起啊来了,各位大侠帮帮忙

问题描述 Tomcat启动不起啊来了,各位大侠帮帮忙 Tomcat突然启动不了了,各位大神帮帮忙 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:Program FilesJavajdk1.7.0_79bin;C:WindowsSunJavabin;

java通过qq服务器发送邮件问题,各路大侠帮帮忙啊!

问题描述 java通过qq服务器发送邮件问题,各路大侠帮帮忙啊! 下面是异常信息: javax.mail.AuthenticationFailedException: 535 Authentication failed at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:648) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMT

pl sql-orcal 存储过程第一次写,编译的时候报错,大侠帮帮忙,急!!

问题描述 orcal 存储过程第一次写,编译的时候报错,大侠帮帮忙,急!! sql脚本如下:create or replace procedure ""PageList""(tbName IN VARCHAR2tbFieldsIN VARCHAR2 orderField IN VARCHAR2orderType IN INTstrWhere IN VARCHAR2pageSize IN INTpageIndex IN INTpageRecord OUT INT)is

在线等请大侠帮帮忙

问题描述 classProgram{staticvoidMain(string[]args){Console.Write(Convert.ToString(1/2));Console.ReadKey();}}这个东西显示的结果是0要打印出来的是0.5代码要怎么写大侠帮忙在线等 解决方案 解决方案二:Console.Write(Convert.ToString((double)1/2); 解决方案三:try...classProgram{staticvoidMain(string[]args){C

哪位大侠帮帮忙,我的GridView更新时出问题了

问题描述 前几年都是用ASP,出.NET后一直没写过程序,也接触得少了,现在学.NET2有个新问题,怎么都没解决,烦请大侠帮忙解决解决.我有一张学生表:LJXHXM--还有其它字段.上面字段的意思依次是年级.学号.姓名,我用了一个GridView,如下:<asp:GridViewID="myGrid"runat="server"AllowPaging="True"OnSelectedIndexChanged="myGrid_Sel

JS问题,,大侠帮帮忙啊!!!!!!

问题描述 <divid="index_top_0"><ulid="index_top_1"><liid="index_top_2"><imgsrc="111.gif"width="10"height="20"/></li><liclass="index_top_3"onmouseover="j

求助!哪位大侠帮帮忙吧!

问题描述 哪位大侠能帮我破解个邮箱啊?小弟万分感谢啊!需要破解的邮箱songyang@steb.com.cn万分感谢啊!万分感谢啊!万分感谢啊!万分感谢啊!万分感谢啊!