A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 流空有痕 中级黑马   /  2016-9-13 23:34  /  2310 人查看  /  18 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

1.从控制台录入一个double类型的小数,编写方法实现四舍五入。(只判断小数点后一位,如输入3.49999结果为3,输入3.5321结果为4);答案(仅供参考)
package test;
import java.util.Scanner;
public class Test1 {
        public static void main(String[] args) {
                //创建键盘录入对象
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个double类型的小数");
                //获取输入的double数字
                double num = sc.nextDouble();
                //传入方法中
                int x = get(num);
                System.out.println("四舍五入的结果为:"+x);
        }
        private static int get(double num) {
                //将获取的数字转为字符串
                String str = String.valueOf(num);
                //将字符串以小数点切割
                String[] strs = str.split("\\.");
                //获取小数点后的数字
                String num1 = strs[1];
                //获取小数点后数字的第一位,如果大于等于5将让小数点前面的数字加一返回,否则直接返回
                int temp = Integer.parseInt(num1.charAt(0)+"");
                int firstNum =Integer.parseInt(strs[0]);
                if(temp>=5){
                        return (firstNum+1);
                }
                return firstNum;
        }
}

18 个回复

倒序浏览
您需要登录后才可以回帖 登录 | 加入黑马