初学者提问Scanner的用法,希望有人能解释一下里面的这段代码的意思。 本帖最后由 a840295276 于 2012-02-14 18:27:42 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //导入语句,引入Java.util包中的所有的工具类import java.util.*;//创建一个类名称为Example2_4public class Example2_4 { //Main 方法,是这个程序的入口函数,主方法 public static void main(String args[]) { //创建一个文本的扫描器,作用是扫描系统传入的文本,System.in是这个扫描器的构造方法要传入的参数 Scanner reader = new Scanner(System.in); //创建一个双精度类型的小数值 b,用来保存输入的双精度小数值的和 double a = 0; //创建一个整形的变量a,作为一个计数器 int b = 0; //进入循环,当扫描器里面有下一个值的话(作为步进) while (reader.hasNextDouble()) { //将扫描器接收的值保存到double类型的变量c中 double c = reader.nextDouble(); //将变量b的值+1 b = b + 1; //将变量a的值加上变量c的值,赋值给a a = a + c; } //输出语句 %d 代表整形 %f 代表浮点型 System.out.printf("%d 个数的和为%f\n", b, a); //输出语句 System.out.printf("%d 个数的平均值是%f\n", b, a / b); }} //导入了java自带的util【工具包】import java.util.*;//创建一个类名称为Example2_4public class Example2_4{//每个程序都有个入口、这段话就是整个程序的入口、//public 公开 static 静态 void 默认返回类型 main主程序//String 字符串类型 args[] 一维数组//连起来就是程序刚启动的时候被优先生成出来了、//还是死记这段程序入口代码吧public static void main(String args[]){//从系统输入获取输入的字符串Scanner reader=new Scanner(System.in);//声明一个双精度类型的 a 赋初始值为0double a=0;//声明一个整形变量b 赋初始值为0int 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);}} 【其实我也不知道我说的对不对、很多地方说的不对、很多地方是蒙的、让其他大神带你吧、我当做是抛砖引玉了、】 java中对构造器的深刻剖析 ★系统开启一段时间后,再登陆就无端报错~急!!★ Birt怎么在tomcat 6.0里边配置 timer不执行问题 java如何连接sql问题 Axis1.5 with wss4j问题 关于MVC模式的一点疑问,希望高手指点一二! HQL中文查询问题 Eclipse 中的tomcat启动出问题。关闭这个工程,打开其他工程却没问题?请各位大哥指教一下 哪里可以载到Websphere,只要server就行了! hql更新语句怎么搞的 初学者提问 关于Java与数据库连接造成的@P1附近语法有错误
//导入语句,引入Java.util包中的所有的工具类
import java.util.*;//创建一个类名称为Example2_4
public class Example2_4 {
//Main 方法,是这个程序的入口函数,主方法
public static void main(String args[]) {
//创建一个文本的扫描器,作用是扫描系统传入的文本,System.in是这个扫描器的构造方法要传入的参数
Scanner reader = new Scanner(System.in);
//创建一个双精度类型的小数值 b,用来保存输入的双精度小数值的和
double a = 0;
//创建一个整形的变量a,作为一个计数器
int b = 0;
//进入循环,当扫描器里面有下一个值的话(作为步进)
while (reader.hasNextDouble()) {
//将扫描器接收的值保存到double类型的变量c中
double c = reader.nextDouble();
//将变量b的值+1
b = b + 1;
//将变量a的值加上变量c的值,赋值给a
a = a + c;
}
//输出语句 %d 代表整形 %f 代表浮点型
System.out.printf("%d 个数的和为%f\n", b, a);
//输出语句
System.out.printf("%d 个数的平均值是%f\n", b, a / b);
}
}
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);
}
} 【其实我也不知道我说的对不对、很多地方说的不对、很多地方是蒙的、让其他大神带你吧、我当做是抛砖引玉了、】