返回信息流输入文本是每行四个数,要求判断这四个数中后三个数每个是否达到20,达到了超出部分就乘以0.9。
这些数经过处理后,再将每行后三个数求和,判断是否达到100,达到了超出部分乘以0.95。
将最终结果按照每行第一个数、后三个数处理后的和输出。思路很清晰,不过不会用Java编,求助。。。。
这是一条镜像帖。来源:北邮人论坛 / java / #18719同步于 2011/6/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【求高手帮忙。。】数字相乘再求和。。。
kingkiller
2011/6/7镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
【 在 laoboss 的大作中提到: 】
: 输入文本是从控制台输入还是从文件输入?写了个从data.txt中输入的,输出到控制台
: --
: import java.io.BufferedReader;
: ...................
多谢,不过好像运行结果不太正确,我用了一个简单的测试用例
1311 34 45 32.6
1312 42 23.2 45.4
1313 12 23.8 43
1314 43 54 12.3
另外,每行第一个数要求是int的,其他会是小数点后两位
【 在 kingkiller 的大作中提到: 】
: : 输入文本是从控制台输入还是从文件输入?写了个从data.txt中输入的,输出到控制台
: : --
: : import java.io.BufferedReader;
: ...................
呃,结果是对的呀,反正是用计算器算了,没什么错误,有可能是我理解错了你的问题吧。至于说第一个int,第二个保留两位小数,这是最基本的东东吧,呃,将上文中相应地方改下就行了,System.out.printf("%-5d%5.2f\n",(int)array[0],sum);。
【 在 laoboss 的大作中提到: 】
: : : 输入文本是从控制台输入还是从文件输入?写了个从data.txt中输入的,输出到控制台
: : : --
: : : import java.io.BufferedReader;
: ...................
为什么我的结果是这个
1311.0 106.118
1312.0 206.07510000000002
1313.0 273.085345
1314.0 362.85107775
【 在 kingkiller 的大作中提到: 】
: : : : 输入文本是从控制台输入还是从文件输入?写了个从data.txt中输入的,输出到控制台
: : : : --
: : : : import java.io.BufferedReader;
: ...................
我运行的结果是:
1311 106.12
1312 206.08
1313 273.09
1314 362.85
莫非我理解错了,呵呵,是超出部分乘以0.9?还是整个数乘以0.9呀。34我理解是,超出20的部分乘以0.9,再加上20算的。
【 在 laoboss 的大作中提到: 】
: : : : : 输入文本是从控制台输入还是从文件输入?写了个从data.txt中输入的,输出到控制台
: : : : : --
: : : : : import java.io.BufferedReader;
: ...................
是超出部分,不过是每行单独处理,不与下一行叠加。最终结果是每行第一个和每行后三个数的和,是我在前面没有描述清楚
【 在 kingkiller 的大作中提到: 】
: : : : : : 输入文本是从控制台输入还是从文件输入?写了个从data.txt中输入的,输出到控制台
: : : : : : --
: : : : : : import java.io.BufferedReader;
: ...................
我被你越讲越糊涂了,你自己写吧,反正框架都弄好了,自己改下就行了,跟C语言很像的。
【 在 laoboss 的大作中提到: 】
: : : : : : : 输入文本是从控制台输入还是从文件输入?写了个从data.txt中输入的,输出到控制台
: : : : : : : --
: : : : : : : import java.io.BufferedReader;
: ...................
嗯,把sum放在while里面去定义就可以了,多谢了~~~~