import java.util.*;
public class Example2_4{
public static void main(String args[]){
Scanner reader=new Scanner(System.in);
double sum=0;
int m=0;
while(reader.hasNextDouble()){
double x=reader.nextDouble();
m=m+1;
sum=sum+x;
}
System.out.printf("%d个数的和为%f\n",m,sum);
System.out.printf("%d个数的平均数是%f\n",m,sum/m);
}
}程序代码如上,现在的问题就是,为什么while循环的判断里,reader.hasNextDouble()对直接输入一个回车的返回值还是true?
或者有什么判断方法能在直接输入一个回车后能停止while循环,否则继续循环?
public class Example2_4{
public static void main(String args[]){
Scanner reader=new Scanner(System.in);
double sum=0;
int m=0;
while(reader.hasNextDouble()){
double x=reader.nextDouble();
m=m+1;
sum=sum+x;
}
System.out.printf("%d个数的和为%f\n",m,sum);
System.out.printf("%d个数的平均数是%f\n",m,sum/m);
}
}程序代码如上,现在的问题就是,为什么while循环的判断里,reader.hasNextDouble()对直接输入一个回车的返回值还是true?
或者有什么判断方法能在直接输入一个回车后能停止while循环,否则继续循环?
解决方案 »
- 请大家看段小代码,关于文件的,小弟新人,分有点少,抱歉
- CSDN中为什么有那么多人得到答案也不结贴呢?(散分)
- Redhat8+JSP乱码
- 高手指点:如何获得24位的时间?
- 欢迎讨论,数据库事务处理!
- 在java中有没有数据库控件,例如jdbTable,但是是以ResultSet作为参数?
- 关于tomcat
- 我是一个初学java的虾米,我只有一些基础的C语言知识,我现在用的学习教程是Thinking for java ,但很多东西多不好理解,请问各位,我该用什么书才比较快入门呢,请推荐,谢谢.
- [snmp4j]snmp4j通过getBulk要求取数据timeout,可是通过wireshark截包发现网卡已经收到包了,请问是什么原因
- 这个代码user==null与null==user有区别吗?
- NoClassDefFoundErro
- 用JAVA一段时间了,想加深基础理解,麻烦大家推荐本书
import java.io.BufferedReader;
import java.io.InputStreamReader;public class SumAndAverage { public static void main(String[] args) throws Exception {
double sum = 0;
int count = 0; BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
while (!(line = reader.readLine()).equals("")) {
sum += Double.parseDouble(line);
count++;
} System.out.printf("%d 个数字的和为 %f\n", count, sum);
System.out.printf("%d 个数字的平均值为 %f", count, sum / count);
}
}