这个程序代码的详细意思,每一步的详细含义,谢谢!

这个程序代码的详细意思,每一步的详细含义,谢谢!/***简单用人民币的常见数额做了初始化*/publicclassTest{publicstaticvoidmain(St... 这个程序代码的详细意思,每一步的详细含义,谢谢!/**
* 简单用人民币的常见数额做了初始化
*/

public class Test {

public static void main(String[] args){

int[] commonMoney = {100,50,20,10,5,1};

System.out.println(getLeastNum(108,commonMoney));

}

static String getLeastNum(int targetMoney,int[] commonMoney){

StringBuffer buffer = new StringBuffer();
int num = 0,total = 0;
String result = targetMoney + "$ 最少需要 ";
for(int money : commonMoney){
if(targetMoney >= money){
total += num = targetMoney/money;
targetMoney = targetMoney%money;
buffer.append("," + num + " 张 " + money + "$");
}
if(0 == targetMoney) break;
}

return result + total + " 张货币,分别是: " + buffer.substring(1);
}

}
展开
 我来答
百度网友02aaf9f
2016-06-21 · 超过17用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:30.5万
展开全部
public class Test {//声明类

public static void main(String[] args){//声明主方法,运行时从此开始

int[] commonMoney = {100,50,20,10,5,1};//声明人民币数值,穷举,从大到小都列出来
System.out.println(getLeastNum(108,commonMoney));//调用处理方法,并输出结果

}

static String getLeastNum(int targetMoney,int[] commonMoney){//定义处理方法

StringBuffer buffer = new StringBuffer();//定义变量用于拼接显示结果 用于返回
int num = 0,total = 0;//设定初始值num为每张面额需要的张数,total是总张数
String result = targetMoney + "$ 最少需要 "; //拼接返回结果
for(int money : commonMoney){//循环遍历面值数组,从大到小遍历
if(targetMoney >= money){//如果要处理的数值大于当前面值,进入进行处理
total += num = targetMoney/money;//要处理的数值除以面值取商为当前面值的张数,同时累加到总张数total里
targetMoney = targetMoney%money;//要处理的钱数对面值取余,余数为接下来循环中要处理的钱数
buffer.append("," + num + " 张 " + money + "$");//拼接返回结果
}
if(0 == targetMoney) break;//如果要处理的钱数为0跳出循环
}

return result + total + " 张货币,分别是: " + buffer.substring(1);//返回结果
}

}

比如 输入123
123/100=1 需要1张100
123%100=23 23是接下来要处理的钱数
接下来除数是50,比23大不做处理
接下来是20
23/20=1 需要1张20
23%20=3 3是接下来要处理的钱数
以此类推
10,5不做处理
还需要3张1元
最后拼接到一起返回
更多追问追答
追问
太棒了
谢谢
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式