当前位置: 首页 > 知识库问答 >
问题:

用java编写测试平均成绩的方法

林玮
2023-03-14

我相信我得到了大部分,但是在averageGrades方法中,当我试图声明average时,它不允许我这样做。

这就是我所拥有的:

public class Averagegrades 
{
    public int min, max;
    double average; 

    public static void main (String [] args)
    {

        double sum = 0;
        Scanner scan = new Scanner(System.in);
        int [] gradesarray = new int[10];

        System.out.println("Please enter the 10 test grades: ");

        for (int i = 0; i < gradesarray.length; i++)
        {            
            gradesarray[i] = scan.nextInt();

            if(gradesarray[i] > 100)
            {
                System.out.println("Please enter a number within 0 - 100: ");
                gradesarray[i] = scan.nextInt();
            }
        }

        System.out.println("These are the grades you entered: " +
            Arrays.toString(gradesarray));
        System.out.println("You have entered " + gradesarray.length + " grades");

        for(double num : gradesarray)
        {
            sum = sum + num;
        }

        System.out.println("This is the sum " + sum);
    }

    public double averageGrades()
    {
        average = sum / (double) gradesarray.length;
    }

共有1个答案

桂杰
2023-03-14

因此这将允许您声明AVG。问题是方法averageGrades找不到sum或gradesarray,因为这两个变量是在main方法中声明的,因此对方法不可见。

package test;

import java.util.Arrays;
import java.util.Scanner;

public class Averagegrades 
{
public int min, max;
double average; 
static double sum;
static int[] gradesarray;

public static void main (String [] args)
{
    sum = 0;
    Scanner scan = new Scanner(System.in);
    gradesarray = new int[10];
    System.out.println("Please enter the 10 test grades: ");

    for (int i = 0; i < gradesarray.length; i++)
    {            
        gradesarray[i] = scan.nextInt();
        if(gradesarray[i] > 100)
        {
            System.out.println("Please enter a number within 0 - 100: ");
            gradesarray[i] = scan.nextInt();
        }
    }
    System.out.println("These are the grades you entered: "+
            Arrays.toString(gradesarray));
    System.out.println("You have entered "+gradesarray.length+" grades");

    for(double num : gradesarray)
    {
        sum = sum + num;
    }
    System.out.println("This is the sum "+sum);
}

public double averageGrades()
{
    average = sum / (double) gradesarray.length;
    return average ;
}

你也可以这么做...

public double averageGrades(int sum, int[] gradesarray)
{
  average = sum / (double) gradesarray.length; 
  return average ;
}

然后在调用该方法时...

averageGrades(sum, gradesarray);
 类似资料:
  • 测试用来验证非测试的代码是否按照期望的方式运行的 Rust 函数。测试函数体通常执行如下三种操作: 设置任何所需的数据或状态 运行需要测试的代码 断言其结果是我们所期望的 让我们看看 Rust 提供的专门用来编写测试的功能:test 属性、一些宏和 should_panic 属性。 作为最简单例子,Rust 中的测试就是一个带有 test 属性注解的函数。属性(attribute)是关于 Rust

  • 如果现有的特征测试不能完成你所需要的工作,你就必须编写一个新的。这些宏是创建模块。它们为其它宏提供了检查各种 特征是否存在并且报告结果的方式。 本章包括一些建议和一些关于现有的测试的为什么要那样编写的原因。通过阅读现有的测试,你还可以学到许多关于编写 Autoconf测试的方法。如果在一个或多个Autoconf测试中出现了错误,这些信息可以帮助你理解它们意味着什么,这有助 于你找到最佳的解决问题的

  • 由于你写的大部分 Redux 代码是函数,而且其中大部分是纯函数,所以很好测,不需要模拟。 准备工作 我们推荐使用 Jest) 作为测试引擎,需要注意的是 Jest 运行在 Node 环境中,因此你不能访问 DOM。 npm install --save-dev jest 如果想要和 Babel 一起使用,还需要安装 babel-jest npm install --save-dev babel-

  • 假设我们编写了一个hello.js,并且输出一个简单的求和函数: // hello.js module.exports = function (...rest) { var sum = 0; for (let n of rest) { sum += n; } return sum; }; 这个函数非常简单,就是对输入的任意参数求和并返回结果。 如

  • 我有下面的类,我测试了method1,并模拟了method2和method3。我只测试这样的用例:*如果method2调用是OK,那么==>OK*如果method2抛出NotFoundException,method3返回OK==>OK*如果method2抛出NotFoundException,method3抛出ServiceException==>ServiceException确实抛出了 为了