在零基础学JAVA3.7章节中 第5个小练习 不是很明白 求指导 如图题目要求为:
给出的代码为:
import java.util.Scanner;
public class BuyNoodle {
public static void main(String[] args) {
int money = 10;
Scanner sc = new Scanner(System.in);
System.out.print("请输入挂面的价格(单位元):");
double price = sc.nextDouble();
if (price <= 10) {
int number = (int) (money/price);
// 小数点后的数字,float类型的浮点数要少于double类型的浮点数
double left = (double) (money - price * number);
System.out.println("小男孩买了" + number + "袋挂面,还剩" + left + "元RMB");
} else {
System.out.println("对不起!您的钱带少了……");
}
sc.close();
}
}
参考图:
根据注释提示 我理解的修改 是将原有的 double 类型 强制转换为 float 类型 修改结果如下:
import java.util.Scanner;
public class BuyNoodle {
public static void main(String[] args) {
int money = 10;
Scanner sc = new Scanner(System.in);
System.out.print("请输入挂面的价格(单位元):");
double price = sc.nextDouble();
if (price <= 10) {
int number = (int) (money/price);
// 小数点后的数字,float类型的浮点数要少于double类型的浮点数
float left = (float) (money - price * number);
System.out.println("小男孩买了" + number + "袋挂面,还剩" + left + "元RMB");
} else {
System.out.println("对不起!您的钱带少了……");
}
sc.close();
}
}
修改后 结果为:1.01 跟要求不符 不知道具体是哪里错了 求大神指导 教育