你要改成
sc.nextDouble();
// 或
sc.nextFloat();
public static void main(String[] asd) throws IOException {
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
int b = (int) a;
System.out.println(b);
System.out.println(a - b);
}
你输入的是double 类型的值,而用整形函数nextInt 获取值,前后矛盾呀,改为nextDouble就正常了
public static void main(String[] asd) throws IOException {
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
int b = (int) a;
System.out.println(b);
NumberFormat nf = NumberFormat.getInstance();
System.out.println(nf.format(a - b));
}
如果你不想要看到那么长一串,你就格式化一下再输出吧