帮忙写两个java程序?

2025-04-28 20:21:21
推荐回答(4个)
回答1:

第一题据我的猜测应该是考的贪婪算法 最佳的可能应当是 货币的总张数最少
而解法有两种 1。循环遍历 2。取余
我先说第二种
public static void greedIsGood(double value)
{
if(value<0.1 || value*10 >= Double.MAX_VALUE){
throw new IllegalArgumentException("Are you kiding me!");
}
long formtValue = new Double((value*10)).intValue();
long tag = 0;
//10元 ps:前面已经*10了 所以这里便是取余100
long tem = formtValue;
if(tem%100 >= 0){
tag = tem/100;
tem = tem%100;
}
System.out.println("10 yuan:"+tag);

if(tem%50 >= 0)
{
tag = tem/50;
tem = tem%50;
}
System.out.println("5 yuan:"+tag);
if(tem %10 >= 0)
{
tag = tem/10;
tem = tem%10;
}
System.out.println("1 yuan:"+tag);
if(tem%5>=0)
{
tag = tem/5;
tem = tem%5;
}
System.out.println("5 mao:"+tag);

System.out.println("1 mao:"+tem);

}
而第一种方法 毫无疑问 五重循环 这个我就不写了 就留给楼主吧。。。

第二个题目 我给个思路吧 直接把所有的情况 列举出来就行 因为就3个数 还是比较简单的
比如 if(x>y){
//TODO sth
if(z>x){
//TODO
}else{
.....
}
}else{
.....
}

回答2:

没有理解第一题的意思
第二题:if(x < y) {x = y} if(x < z) {x = z} if(y < z) { y = z}
一次输出xyz就可以了

回答3:

import java.util.*;
public static void main(String[] args){
List l=new ArrayList();
l.add(x);l.add(y);l.add(z);
sort(l);
System.out.println(l);
}

回答4:

弄不出来也不会贴出来了
楼主我说的是不,呵呵

你的需求是英文的,太专业了,中文的还好说.