「java购物金额结算思路」java购物金额结算思路怎么写

博主:adminadmin 2022-11-28 07:54:08 45

今天给各位分享java购物金额结算思路的知识,其中也会对java购物金额结算思路怎么写进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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

刚帮你调测了一下,当你输入"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);

}

怎么用JAVA编译升级购物结算? 有商品名称、商品金额、继续购买的循环、折扣、总计金额、交费金额、找钱

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();

}

}

}

以上是能达到输出要求的代码,有通过测试,比较初级的,希望能帮到楼主。

java 编程买水果钱刚好用完问题,求思路

for(int i=0;i=n/59;i++){

    for(int j=0;j=n/32;j++){

    ...

if((i+j+...)==n){

    则每种水果是 i 个 、j个  ...

}

    }

}

Java项目实训模拟网上超市购物结算功能

使用结构体+数组,就可以 了

~

~

~

~

~~~~~~~~~~~~~~~~~~~~~~~~~

如何用Java语言编写购物结算系统

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+"角";

    }

}

java web 开发 购物网站 怎么做订单结算部分????

我写过两次订单结算,不过都是asp.net下的,但是应该差不多吧.订单结算是最后的步骤,提交订单之后需要做结算,实际上就是收钱嘛.

传统来讲此时需要一个支付接口,比如说支付宝财付通快钱 网银在线之类的,他们提供接口,我们按照他们说明文档来实现就好.重要的是交易记录哦!!提交订单后需要交易日志(不能从字面意义上来理解"交易",实际上跟别人讨价还价也是交易的一种不是嘛.)转到接口前需要日志,接口返回信息需要日志(表结构差不多啦)这些日志,方便以后退款或者查看状态使用;

不传统来讲除支付接口外,要考虑购物网站个人钱包支付或者线下汇款之类的 建议使用策略模式

额 不知道说啥了.缕一缕在纸上构思下就差不多 但一定要考虑好安全性

java购物金额结算思路的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java购物金额结算思路怎么写、java购物金额结算思路的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。