我有一个max函数,它接受5个输入并打印最大值,具体取决于用户输入的内容。例如:
输入:1 2 3 2.4 0.2
输出:3(int)
或
输入:1.7 2 3 4.0 3.2
输出:4.0(双倍)
我无法弄清楚该怎么做。当4.0 == 4时,第二种情况会发生错误。如何绕过它?
max=(double) i;
System.out.print(" "+i);
if (Math.round(max) == max) {
System.out.print(Math.round(max));
} else {
System.out.print(max);
}
答案 0 :(得分:1)
在遍历数字的字符串表示形式的循环中,只保留最大的字符串及其解析的double值。然后在最后只打印对应于最大值的字符串。
double max = -Double.MAX_VALUE;
String smax = null;
for (String s: args) {
double d = Double.parseDouble(s);
if (d > max) {
smax = s;
max = d;
}
}
System.out.println(smax);