永发信息网

java编程计算付款和找零

答案:2  悬赏:10  手机版
解决时间 2021-11-09 22:09
java编程计算付款和找零
最佳答案
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

public class Change {


public static void main(String[] args) {
System.out.println("请输入价格:");
double m = Double.parseDouble(getInputLine());
System.out.println("请付款金额:");
double c = Double.parseDouble(getInputLine());
change(m, c);
}

public static String getInputLine() {
InputStream inputStream = System.in;
List cmdBuffer = new ArrayList();
int t;
try {
while (true) {
t = inputStream.read();
if (t == '
') {
byte[] bs = new byte[cmdBuffer.size()];
for (int i = 0; i < cmdBuffer.size(); i++) {
bs[i] = cmdBuffer.get(i);
}
return new String(bs).trim();
} else {
cmdBuffer.add((byte) t);
if (cmdBuffer.size() > 1024) {
return null;
}
}
}
} catch (IOException e) {
return null;
}
}

public static double[] moneys = { 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, 100 };


public static void change(double m, double c) {
double z = c - m;
if (z < 0) {
System.out.println("付款不足!");
} else if (z == 0) {
System.out.println("不需要找零。");
} else {
System.out.println("找零共:" + z + "元");
System.out.println("其中:");
for (int i = moneys.length - 1; i >= 0; i--) {
double money = moneys[i];
int count = 0;
while ((z - money) >= 0) {
z -= money;
count++;
}
if (count > 0) {
System.out.println(money + "元:" + count + "张");
}
}
}
}
}
全部回答
好简单啊,不就从最大面值的开始遍历吗?

void fun(double m,double c)
{
double money=c-m;
int cnt = 0;
double charge[] = {100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01};
int chargenum[13];
for(int i = 0;i < 13;i++)
chargenum[i] = 0;
int i=0;
while(money>0)
{
while(charge[i] > money)
i++;
money = money-charge[i];
cnt++;
}
for(int i = 0;i < 13;i++)
{
System.out.Print(charge[i]);
System.out.Print(chargenum[i]);
}
}

Java的输出不是很记得了,你自己再设置一下,反正算法就是这样
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样将T变成P
河西学院什么专业就业好,征集志愿什么专业召
阿瓦提县公安局交警大队车辆管理所地址在哪,
猎豹cfa647305是国三还是国四
鞍山查车辆违章电话多少
求个ios上可以自己上传小说到云端的app
山魈与狒狒的区别
硒加钙的注意事项
老师:这问英文翻译成中文是什么字
西安摩尔教育加盟电话
超市门口的摇摇车赚不赚钱
大连海边有出租平房的吗?在哪有?价钱?谢谢
手机被WiFi屏蔽了怎么办?
太仆寺到围场路线图
白色念珠菌阳性+是什么意思
推荐资讯
大同正宗大凉菜咋办
125×6加125×2用简便算法怎么算
人工刮剃阴毛
魅族mx5没信号了怎么办?
从石湖路东到临顿路怎么做地铁
请问腻子粉能用于露天钢结构吗?
想知道一些好看的国产动画片。主要是想听一些
有气无力的意思是什么???
按今日比价40欧元等于多少人民币
05年4.6S宝马x5后悬挂升降怎么升降
十五删韵字表
云鼎文化这个地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?