import java.util.Scanner;
public class CountAverage{ int sum=0;
int average;
     int grage;
int i=0;
int n;
public void sum(){

int sum=0;
int average;
     int grage;
int i=0;
int n;




Scanner input=new Scanner(System.in);
System.out.println("pleaae enter the Amount of your Integer:");
   n=input.nextInt();
   while(i<n)
   { grade=input.nextInt();
   if(grade>=0&&grade<=100)
    sum=sum+grade;
    else
    {System.out.println("you enter a wrong number,please enter again");
    continue;}
   }
   i++;
}
  public void  Count(){
   average=sum/n;
   System.out.println("the average is %d"+average);
  }}代码如上  我想实现的功能是求平均数---我想随机输入数字就求平均数--当她输入的数字不在0---100之间就让它重新输入---
这代码实现不了 出现了以下错误
G:\javaex\CountAverage.java:24: 找不到符号
符号: 变量 grade
位置: 类 CountAverage
           { grade=input.nextInt();
             ^
G:\javaex\CountAverage.java:25: 找不到符号
符号: 变量 grade
位置: 类 CountAverage
           if(grade>=0&&grade<=100)
              ^
G:\javaex\CountAverage.java:25: 找不到符号
符号: 变量 grade
位置: 类 CountAverage
           if(grade>=0&&grade<=100)
                        ^
G:\javaex\CountAverage.java:26: 找不到符号
符号: 变量 grade
位置: 类 CountAverage
            sum=sum+grade;
                    ^
G:\javaex\CountAverage.java:26: 运算符 + 不能应用于 int,grade
            sum=sum+grade;
                ^
G:\javaex\CountAverage.java:26: 不兼容的类型
找到: <nulltype>
需要: int
            sum=sum+grade;
                   ^
麻烦大家帮改改啊 

解决方案 »

  1.   


    import java.util.Scanner;public class CountAverage { int sum = 0; int average; int grage; int i = 0; int n; public void sum() { int sum = 0;
    // int average;
    // int grage;
    int i = 0;
    int n; Scanner input = new Scanner(System.in);
    System.out.println("pleaae enter the Amount of your Integer:");
    n = input.nextInt();
    while (i < n) {
    int grade = input.nextInt();
    if (grade >= 0 && grade <= 100)
    sum = sum + grade;
    else {
    System.out
    .println("you enter a wrong number,please enter again");
    continue;
    }
    }
    i++;
    } public void Count() {
    average = sum / n;
    System.out.println("the average is %d" + average);
    }
    public static void main(String[] args) {
    CountAverage ca = new CountAverage();
    ca.sum();
    ca.Count();
    }
    }
      

  2.   


    package com.test.test;import java.util.ArrayList;
    import java.util.Scanner;public class Test {

    public static void main(String[] args) {

    while(true) {
    avg();
            }
    }
        
    private static void avg() {
    try {
    int k=0;
    ArrayList<Integer> a=new ArrayList<Integer>();
    boolean stop=true;
    while(stop){
    Scanner s=new Scanner(System.in);
    int i=s.nextInt();

        a.add(i);
        if(i==0) {
         int sum=0;
           for(int j=0;j<a.size();j++) {
             k=a.get(j);  
             sum+=k;
           }
           double avgs=(double)sum/(a.size()-1);
           
           System.out.println("***********");
           System.out.println(sum);
           System.out.println("您输入了"+ (a.size()-1)+"个有效数");
           System.out.println("你输入数的平均数为:"+avgs);
           System.out.println("***********");
           stop=false;
        }
        
        else if (i<0||i>100) {
         System.out.println("请输入0~100内的整数!");
         a.clear();
        }
        
    }
    } catch (Exception e) {
    System.out.println("您输入的格式不对请输入整数!");
    }
    }
    }
    说明:输入100以内的数,要求结果输入数字0即可看到结果
    测试结果如下:
    123
    请输入0~100内的整数!
    dsfjlads
    您输入的格式不对请输入整数!
    12
    13
    14
    0
    ***********
    39
    您输入了3个有效数
    你输入数的平均数为:13.0
    ***********
    11
    11
    0
    ***********
    22
    您输入了2个有效数
    你输入数的平均数为:11.0
    ***********
      

  3.   

    while(i<n)成立后是一个死循环,sum()函数里面的局部 sum  n  是局部变量  在count中不起作用‘下面是我帮你修改的代码  import java.util.Scanner;public class CountAverage {    int sum = 0;    int average;    int grage;    int i = 0;    int n;    public void sum() {       // int sum = 0;
    //        int average;
    //        int grage;
            int i = 0;
          //  int n;        Scanner input = new Scanner(System.in);
            System.out.println("pleaae enter the Amount of your Integer:");
            n = input.nextInt();
            while (i < n) {
                int grade = input.nextInt();
                if (grade >= 0 && grade <= 100)
                {  sum = sum + grade;
                i++;
                }
                else {
                    System.out
                            .println("you enter a wrong number,please enter again");
                    continue;
                }
            }
          //  i++;
        }    public void Count() {
            average = sum / n;
            System.out.println("the average is %d" + average);
        }    
        public static void main(String[] args) {
            CountAverage ca = new CountAverage();
            ca.sum();
            ca.Count();
        }
    }可以运行 见笑了
      

  4.   

    西南java技术讨论专区群号:78152089,欢迎加入..