题解 | #取近似值#

取近似值

http://www.nowcoder.com/practice/3ab09737afb645cc82c35d56a5ce802a

我自己的解法是
用字符串判断

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        if(in.hasNextLine()){
            String str = in.nextLine();
            String[] spl = str.split("\\.");
            if (spl.length == 2){
                String r = spl[1];
                if (r.startsWith("5") || r.startsWith("6") ||
                   r.startsWith("7") || r.startsWith("8") || 
                   r.startsWith("9"))
                {
                    int value = Integer.parseInt(spl[0]);
                    System.out.println(value + 1);
                }
                else
                {
                    System.out.println(spl[0]);
                }
            }
        }
    }
}

这里有另外两种解决方案:

通过double的方式,用Math.round

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        if (in.hasNextDouble()) {
            double d = in.nextDouble();
            System.out.println(Math.round(d));
        }
    }
}

通过int强转,真是简单粗暴啊

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        if (in.hasNextFloat()){
            float f = in.nextFloat();
            System.out.println((int)(f+ 0.5));
        }
    }
}
全部评论

相关推荐

暴走萝莉莉:这是社招场吧,作为HR说个实话:这个维护关系的意思是要有政府资源,在曾经的工作中通过人脉资源拿下过大订单的意思。这个有相关管理经验,意思也是真的要有同岗位经验。应酬什么的对于业务成交来说就算不乐意也是常态,就是要求说话好听情商高,酒量好。
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务