| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 746 人关注过本帖
标题:帮做道题
只看楼主 加入收藏
chenzhanpeng
Rank: 1
等 级:新手上路
帖 子:271
专家分:0
注 册:2007-1-5
收藏
 问题点数:0 回复次数:8 
帮做道题
从键盘输入多个正整数,每输入一个数就回车一次,当遇到输入的数为负数时,结束键盘读取;然后计算输入的正整数的平均值并打印结果。
请高手帮写下程序,加点注释,谢谢
搜索更多相关主题的帖子: 整数 键盘 打印 平均值 注释 
2007-05-22 22:07
zyzwlh
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-5-17
收藏
得分:0 
import java.util.*;
public class Average
{
public static void main(String[] args)
{
int sum=0;
int i=1; //计算输入了多少个数字.
do
{
System.out.println("请输入正整数,以负数结束循环:");
Scanner a=new Scanner(System.in);
int b=a.nextInt();
if (b<0)
break;
sum=sum+b;
i++;
}
while(i>0);
double average=sum/(i-1);
System.out.println("你输入的正整数之和的平均值为:"+average);
}
}
2007-05-23 01:19
zyzwlh
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-5-17
收藏
得分:0 
出错了哈 不好意思 忘了考虑精度问题
import java.util.*;
public class Average
{
public static void main(String[] args)
{
double sum=0.0;
double i=1.0; //计算输入了多少个数字.
do
{
System.out.println("请输入正整数,以负数结束循环:");
Scanner a=new Scanner(System.in);
int b=a.nextInt();
if (b<0)
break;
sum=sum+b;
i++;
}
while(i>0);
double average=sum/(i-1);
System.out.println("你输入的正整数之和的平均值为:"+average);
}
}
2007-05-23 01:22
chenzhanpeng
Rank: 1
等 级:新手上路
帖 子:271
专家分:0
注 册:2007-1-5
收藏
得分:0 
i=1.0为什么从1开始。。。average=sum/(i-1),i-1是什么。。还有while(i&gt;0),sum+=b,i++如果我输入的数是5,就把5加进SUM,i++指的是输入第二个数的值吗?i-1就真的不明白了

生在蓝天下,共同成长进步。(:
2007-05-23 07:50
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
得分:0 

不管怎么,你要先输入数吧,所以从1开始.
因为,你如果输入了负数,那么,i-1 代表你输入正数的个数.
I++,是代表你输入数的个数.


别人不给你机会,自己去创造机会.
2007-05-23 08:10
chenzhanpeng
Rank: 1
等 级:新手上路
帖 子:271
专家分:0
注 册:2007-1-5
收藏
得分:0 
i-1不是零吗,再解释一点点,我就明白了

生在蓝天下,共同成长进步。(:
2007-05-23 08:32
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
得分:0 
[QUOTE]System.out.println("请输入正整数,以负数结束循环:");
Scanner a=new Scanner(System.in);
int b=a.nextInt();
if (b<0)
break;
sum=sum+b;
i++;[/QUOTE]
这里I++;这时i不就等于2了吗?

别人不给你机会,自己去创造机会.
2007-05-23 08:39
chenzhanpeng
Rank: 1
等 级:新手上路
帖 子:271
专家分:0
注 册:2007-1-5
收藏
得分:0 
哦,明白了,2,i-1说明你输入了一个正整数,如果你输入两个正整数,i=3,3-1,因为是从1开始的,喝喝,谢了

生在蓝天下,共同成长进步。(:
2007-05-23 08:42
lanshetou
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-6-1
收藏
得分:0 
请指教!
import java.util.*;
public class Pingjun {
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
double t=0;
boolean p=true;
int i=0;
while(p)
{
int b=in.nextInt();
if(b<0)
{
p=false;
break;
}
t=t+b;
i++;
}
System.out.println(t/i);
}
}

2007-06-03 13:25
快速回复:帮做道题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021441 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved