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,这样比较好吧
你运行一下 控制台会报错的 一个一个看呗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); }