java保证至少求10个整数的和

来源:百度知道 编辑:UC知道 时间:2024/05/12 16:37:34
import java.util.*;
public class Example
{
public static void main (String args[ ])
{
System.out.println("请输入若干个数,每输入一个数回车确认");
System.out.println("最后输入一个非数字结束输入操作");
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);
}
}
改进程序,必须保证至少求10个整数的和,若输入有非法的数,必须有再输入处理。

用上面的方法更好点,如果练习的话可以自己写判断输入是否为数字的方法
//判断是否为数字的方法
public boolean isInt(String strLine) {
int j = 0;
for (int i = 0; i<strLine.length(); i++) {
if (strLine.charAt(i)<'0' || strLine.charAt(i)>'9') {
if (strLine.charAt(i) != '.')
return false;
else {
j++;
if (j>1 || (j == in.length()-1) || j==0)
return false;
}
}
}
return true;
}
//主函数内容
try
{
InputStream in = p.getInputStream(); //getInputStream() 获取子进程的输入流
BufferedReader bfr = new BufferedReader(new InputStreamReader(in)); //BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取,BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流,InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符,它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集
Double count = 0;
int i = 0; //用于记录输入数字个数
while(true)
{
String strLine = bfr.readLine(); //readLine() 读取一个文本行
if(isInt(strLine)