已有101人关注
手动纠错 求大神指导
发表在Java图书答疑 2018-04-02 悬赏:10 学分 《零基础学Java》第3章 流程控制 79页-79页
是否精华
版块置顶:

在零基础学JAVA3.7章节中 第5个小练习 不是很明白 求指导 如图题目要求为:

1.png

给出的代码为:

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();

}

}

参考图:

2.png

根据注释提示  我理解的修改 是将原有的 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 跟要求不符   不知道具体是哪里错了  求大神指导 教育


分享到:
精彩评论 4
whyzj
学分:692 LV6
2018-04-04
沙发

没问题啊,代码定义的money是10块,你输入的挂面单价是8.99块,输出结果为1.01块,完全没有问题。可能他的答案有问题

根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2018-04-04
板凳

你这不是完成了吗?哪里不符了?

13541276119
学分:45 LV2
2018-04-04
地板

根号申 发表于2018-04-04 10:50

你这不是完成了吗?哪里不符了?

按照书上的要求,最后输出的结果应该是1.1。我做完后输出的结果是1.01。如果我没错,那么就是书上错了
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2018-04-08
4L

13541276119 发表于2018-04-04 19:22

按照书上的要求,最后输出的结果应该是1.1。我做完后输出的结果是1.01。如果我没错,那么就是书上错了

书上写错了

首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照