日期:2014-05-19 浏览次数:20973 次
//导入了java自带的util【工具包】
import java.util.*;
//创建一个类名称为Example2_4
public class Example2_4
{
//每个程序都有个入口、这段话就是整个程序的入口、
//public 公开 static 静态 void 默认返回类型 main主程序
//String 字符串类型 args[] 一维数组
//连起来就是程序刚启动的时候被优先生成出来了、
//还是死记这段程序入口代码吧
public static void main(String args[])
{
//从系统输入获取输入的字符串
Scanner reader=new Scanner(System.in);
//声明一个双精度类型的 a 赋初始值为0
double a=0;
//声明一个整形变量b 赋初始值为0
int b=0;
//while是个循环 ()里面是条件
//当reader(指的是从系统输入流中获取的字符串中有double类型的数据)
while(reader.hasNextDouble())
{
//新创建一个局部双精度的变量c 赋初始值从nextDouble()中获取【是下一个双精度么?】
double c=reader.nextDouble();
//b+1的值赋给了b 【整形 + 整形 最后变整形、没有涉及到强制转换】
b=b+1;
【双精度+双精度 最后变双精度 没有涉及强制转换】
a=a+c;
}
//System.out.printf();【是系统输出流】
// %d 是按整形类型输出【其实是输出的是b值】 %f 是按浮点数类型输出【输出的是a的值】
System.out.printf("%d 个数的和为%f\n",b,a);
// %d 是按整形类型输出【其实是输出的是b值】 %f 是按浮点数类型输出【输出的是a除以b的值,双精度】
System.out.printf("%d 个数的平均值是%f\n",b,a/b);
}
}