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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这是为实现:(1)键盘录入一个小数,要求小数点后的小数位最少2位
                  (2)定义方法,实现保留小数点后的两位小数(只舍不进)
我的这几个方法都行不通,但又不知道原因,请那位大神给支支招???
       
private static void false1method() {                //方法不完善,ArrayIndexOutOfBoundsException
                Scanner c = new Scanner(System.in);
        A:        System.out.println("请输入一个小数点后的小数位最少2位的小数:");
                double b = c.nextDouble();
                String s = b + "";                //或者采用:s = String.valueOf(b);
                String[] ss = s.split(".");
                if(ss[1].length() < 1) {
                        System.out.println("您输入的数字有误,请重新输入:");
                        A:;
                }
        }

        private static void false2method() {                //方法不完善,ArrayIndexOutOfBoundsException
                Scanner c1 = new Scanner(System.in);
                while(true) {                //方法替换
                        System.out.println("请输入一个小数点后的小数位最少2位的小数:");
                        double b = c1.nextDouble();
                        String s = b + "";                //或者采用:s = String.valueOf(b);
                        String[] ss = s.split(".");
                        if(ss[1].length() > 1) {
                                break;
                        }else {
                                String su = ss[0] + "."+ss[1].substring(0,2);
                                System.out.println(su);
                        }
                }
        }
        private static void false3method() {
                //IllegalArgumentException: Cannot format given Object as a Number
                Scanner sca = new Scanner(System.in);       
                System.out.println("请输入一个至少有两位小数的小数:");
                String sst = sca.nextLine();
                DecimalFormat df = new DecimalFormat("00.##");
                String nw = df.format(sst);
                System.out.println(nw);
        }
}

1 个回复

倒序浏览
可以用String先接收,然后用split分割\\.取第二个元素转成字符数组,取前两个元素.再拼接成一个数字.
目前只学到集合,有没有其他办法我也不知道,求大神告知.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马