Java程序 刚刚学,不知哪出错了?望高手帮忙!

[复制链接]
查看11 | 回复5 | 2009-10-9 11:26:30 | 显示全部楼层 |阅读模式
1楼正解
回复

使用道具 举报

千问 | 2009-10-9 11:26:30 | 显示全部楼层
老大我先给你说下,虽然你这是用Java语言的写的,但是你完全没有用Java语言的思想去写程序。跟C一样全部都写到了主函数。建议~多看看J2SE
回复

使用道具 举报

千问 | 2009-10-9 11:26:30 | 显示全部楼层
import java.util.Scanner;public class Yunsuan {public static void main(String[] args) {System.out.println("请输入几个数,输入“0”结束。");float sum = 0;float time = -1;float average = 0;int s = 1;while (s != 0) { Scanner sc = new Scanner(System.in); s = sc.nextInt(); sum = sum + s; time++;}average = sum / time;System.out.println("这些数的和为:" + sum + ",它们的平均值为" + average); } } //time初始化应为-1,因为你在输入0的时候也算一次,对不?//我觉得计算平均值应定义为flaot,这样比较好吧
回复

使用道具 举报

千问 | 2009-10-9 11:26:30 | 显示全部楼层
你的问题,我已经帮你注释好了,请看如下代码import java.util.Scanner;public class Yunsuan{public static void main(String args[]){ System.out.println("请输入几个数,输入“0”结束。"); int sum=0; int time=0; float average=0; //你的average没有初始化,平均数可能有小数,定义为浮点型 int s=1; while(s!=0)//此处,你多写了; 程序会停顿在此处 {Scanner sc=new Scanner(System.in);s=sc.nextInt();sum=sum+s;time++;if(time>1)
// 如果不计算最后输入的0,请加上这2行代码average=sum/(time-1); //不计算0, time必须减1 }System.out.println("这些数的和为:"+sum+",它们的平均值为"+average); }}
回复

使用道具 举报

千问 | 2009-10-9 11:26:30 | 显示全部楼层
你运行一下 控制台会报错的 一个一个看呗1. while(s!=0)后面多个分号2. average 要初始化 int avergate = 0;3. average=sum/time; 这一句要放到循环外面 public static void main(String[] args) {System.out.println("请输入几个数,输入“0”结束。");int sum = 0;int time = 0;int average = 0;//这里初始化int s = 1;while (s != 0)//这里删除分号
{ Scanner sc = new Scanner(System.in); s = sc.nextInt(); sum = sum + s; time++;
}average = sum / time;//放到这里System.out.println("这些数的和为:" + sum + ",它们的平均值为" + average); }
回复

使用道具 举报

千问 | 2009-10-9 11:26:30 | 显示全部楼层
while(s!=0);把后面的分号去掉先。不希望你的程序只会停在这里走不下去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行