这个程序代码的详细意思,每一步的详细含义,谢谢!
这个程序代码的详细意思,每一步的详细含义,谢谢!/***简单用人民币的常见数额做了初始化*/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);
}
} 展开
* 简单用人民币的常见数额做了初始化
*/
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);
}
} 展开
展开全部
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元
最后拼接到一起返回
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 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询