import java.util.Scanner;
10年积累的成都网站设计、成都网站建设、外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有木兰免费网站建设让你可以放心的选择与我们合作。
public class JieZhang {
public static void main(String[] args) {
System.out.println("请输入要结账的顾客数:");
Scanner s = new Scanner(System.in);
int num = s.nextInt();
for(int i=0;inum;i++){
int flag = 1;
double sum = 0;//总价
while(flag==1){
flag = 1;
System.out.println("请输入单价:");
double price = s.nextDouble();
System.out.println("请输入数量:");
int number = s.nextInt();
sum = sum + price * number;
System.out.println("请选择是否继续计算:1继续");
flag = s.nextInt();
}
System.out.println("第"+(i+1)+"位顾客消费:"+sum);
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import org.apache.commons.lang.StringUtils;
public class Test
{
public static void main(String []args){
System.out.println("******************************************************************************************************");
System.out.println("请选择要购买的商品编号:");
System.out.println("1.T恤(245) 2.网球鞋(570) 3.网球拍(320)");
System.out.println("******************************************************************************************************");
Long total = 0L;
//应付费用和找零保留两位小数点
DecimalFormat df = new DecimalFormat("#.00");
BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));
//接受用户输入的变量,商品编码、商品数量、是否继续和实际交费
String code = "";String num = "";String isBuy = "";String pay = "";
Double discount = 0.8;
int number = 0;Long payMoney = 0L;Boolean flag = false;
try
{
//do...while循环,先执行do,然后在用户输入y的情况下循环执行do中的语句
do{
code ="";num="";isBuy="";
//如果输入编号有误则循环重新输入
do{
flag=false;
System.out.print("请输入商品编号:"+code);
//获取用户输入的编码
code = strin.readLine();
if(code.equals("1")||code.equals("2")||code.equals("3")){
flag = true;
}else{
flag=false;
System.out.print("商品编号不存在!");
}
}while(flag == false);
//输入不符合要求时循环重新输入
do{
flag = false;
System.out.print("请输入商品数量:"+num);
//获取用户输入的数量
num = strin.readLine();
//在输入数量不为空的情况下,将数量转换成整型,若转换失败说明输入的不是整型数据,提示用户重新输入
if(StringUtils.isNotEmpty(num)){
try
{
number = Integer.parseInt(num);
flag = true;
}
catch (Exception e)
{
System.out.println("商品数量请输入正整数!");
flag = false;
num = "";
}
}
}while(flag == false);
//根据用户输入情况计算当前费用
if(code.equals("1")){
total += 245*number;
System.out.println("T恤 ¥"+245.0 +" ¥"+total);
System.out.print("是否继续(y/n)"+isBuy);
isBuy = strin.readLine();
}else if(code.equals("2")){
total+=570*number;
System.out.println("网球鞋 ¥"+570.0 +" ¥"+total);
System.out.print("是否继续(y/n)"+isBuy);
isBuy = strin.readLine();
}else if(code.equals("3")){
total+=361*number;
System.out.println("网球拍 ¥"+320.0 +" ¥"+total);
System.out.print("是否继续(y/n)"+isBuy);
isBuy = strin.readLine();
}
}while(isBuy.equals("y"));
System.out.println("折扣:"+discount);
//根据折扣计算顾客需要交纳的费用
String needPay = df.format(total*discount);
System.out.println("金额总计: ¥"+needPay);
//输入不符合要求时循环重新输入
do{
flag =false;
System.out.print("实际交费: ¥"+pay);
//获取用户输入的实际交费
pay = strin.readLine();
//在输入交费不为空的情况下,将交费转换成长整型,若转换失败说明输入的不是长整型数据,提示用户重新输入
if(StringUtils.isNotEmpty(pay)){
try{
payMoney = Long.parseLong(pay);
flag=true;
}catch(Exception ex){
System.out.println("实际交费请输入数字!");
flag=false;
pay="";
}
}
}while(flag == false);
System.out.print("找钱: ¥"+(payMoney-Double.parseDouble(needPay)));
}catch (IOException e1){
e1.printStackTrace();
}
}
}
以上是能达到输出要求的代码,有通过测试,比较初级的,希望能帮到楼主。
算是最简单的吧
package cn.job01;
import java.util.Scanner;
public class Lx07 {
public static void choice() {
System.out.println("登陆菜单 ");
System.out.println("1登陆系统");
System.out.println("2退出");
}
static void choice1() {
System.out.println("购物管理系统客户信息");
System.out.println("1显示所有客户信息");
System.out.println("2添加客户信息");
System.out.println("3修改客户信息");
System.out.println("4查询客户信息");
}
static void choice2() {
System.out.println("购物管理系统真情回馈");
System.out.println("1幸运大放送");
System.out.println("2幸运抽奖");
System.out.println("3生日问候");
}
public static void main(String[] args) {
choice();
Scanner input = new Scanner(System.in);
System.out.println("请输入1or2");
int num = input.nextInt();
switch (num) {
case 1:
System.out.println("主菜单");
System.out.println("1客户信息管理");
System.out.println("2购物结算");
System.out.println("3真情回馈");
System.out.println("4注销");
break;
}
System.out.println("选择输入数字");
int num1 = input.nextInt();
switch (num1) {
case 1:
choice1();
break;
case 2:
System.out.println("购物结算");
break;
case 3:
choice2();
break;
case 4:
choice();
break;
}
}
}
如果只是 在控制台打出这个 东西还是太简单了。只要syso就行了。
但是我想 你应该不是要这样吧,比如你的购物清单是不是输入的
折扣也是输入的
然后给多少钱是输入的
然后算找零和积分
所以还是你的需求描述的太不清楚了。
import java.util.Scanner;
//看这样的行吗?
public class StoreCharge {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入应付金额:");
double x = sc.nextDouble();
Price p1 = ampayable(x);
System.out.println(p1.toString());
System.out.println("输入实付金额:");
double y = sc.nextDouble();
Price p2 = ampaid(y);
System.out.println(p2.toString());
System.out.println("找零:"+charge(p1,p2).toString());
charge(p1,p2);
}
public static Price charge(Price p1,Price p2){//p1总货价 p2收款
int c,b;
if(p2.connerp1.conner){
b = p2.conner+10-p1.conner;
p2.element = p2.element-1;
}else
b = p2.conner-p1.conner;
c = p2.element - p1.element;
return new Price(c,b);
}
public static Price ampayable(double x){//应付金额
Price a = new Price();
a.element = (int)x;
a.conner = (int)(x*10 -((int)x)*10);
return a;
}
public static Price ampaid(double x){//实付金额
Price a = new Price();
a.element = (int)x;
a.conner = (int)(x*10 -((int)x)*10);
return a;
}
}
class Price{
int element;//元
int conner;//角
public Price(){}
public Price(int e,int c){
element = e;
conner = c;
}
public String toString(){
return element+"元"+conner+"角";
}
}