Java最大打印倍数和整数

时间:2015-03-18 16:59:09

标签: java printing int double max

我有一个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);
            }

1 个答案:

答案 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);