Java平均程序 [英] Java Average Program

查看:74
本文介绍了Java平均程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

编写一个称为Average的类,该类可用于计算几个整数的平均值.它应包含以下方法:

Write a class called Average that can be used to calculate average of several integers. It should contain the following methods:

  1. 接受两个整数参数并返回其平均值的方法.
  2. 接受三个整数参数并返回其平均值的方法.
  3. 接受两个表示范围的整数参数的方法.

发出错误消息,如果第二个参数小于第一个参数,则返回零.否则,该方法应返回该范围内(含)的整数平均值.实现该类并编写程序以测试其方法并提交您的源代码(.java文件).

Issue an error message and return zero if the second parameter is less than the first one. Otherwise, the method should return the average of the integers in that range (inclusive). Implement the class and write a program to test its methods and submit your source code (.java files).

我被困在第三部分,我什至不真正理解规定.我会使用浮点/双精度吗?这是我到目前为止的程序:

I am stuck on part three, I don't even really understand the stipulation. Will I be using a floating point / double? Here is the program I have thus far:

import java.util.Scanner;

public class Average {

  public static void main(String[] args) {
    int numb1, numb2, numb3, userInput;
    System.out.println("Enter '2' if you wish to average two numbers enter '3' if you wish to average 3.");
    Scanner keyboard = new Scanner(System.in);
    userInput = keyboard.nextInt();
    if (userInput == 2){
      System.out.println("Enter two numbers you'd like to be averaged.");
      numb1 = keyboard.nextInt();
      numb2 = keyboard.nextInt();
      Average ave = new Average();
      System.out.println("The average is: " + ave.average(numb1, numb2));
      System.exit(1);
    }
    if(userInput == 3){
      System.out.println("Enter three numbers you'd like to be averaged.");
      numb1 = keyboard.nextInt();
      numb2 = keyboard.nextInt();
      numb3 = keyboard.nextInt();
      Average ave = new Average();
      System.out.println("The average is: " + ave.average(numb1, numb2, numb3));
      System.exit(1);
    }
  }
  public static int average (int num1, int num2) {
    return (num1 + num2) / 2;
  } 
  public static int average (int numb1, int numb2, int numb3){ 
    return (numb1 + numb2 + numb3) / 3; 
  } 
}

推荐答案

不是真的在这里做作业,但是由于我已经在这里,所以范围是最大和最小数字之间的差.

Not really here to do your homework, but since I'm already here, the range is the difference between the largest and smallest number.

public int returnRange(int first, int second) {
    if(first > second)
        return first-second;
    else
        return second-first;
}

不过,让事情变得更容易...

To make things easier though...

public double returnAverage(int...numbers) {
    for(int i = 0; i < numbers.length(); i++) {
        total += numbers;
    }

    return total/numbers.length();
}

public int returnRange(int...numbers) {
    int holder = 0;

    int highest;
    int lowest;

    for(int i = 0; i < numbers.length(); i++) {
        if(numbers[i] > holder) {
            holder = numbers[i];
    }
    highest = holder;

    for(int i = 0; i < numbers.length(); i++) {
        if(numbers[i] < holder) {
            holder = numbers[i];
        }
    }
    lowest = holder;

    return highest-lowest;
}

最后2种方法未经测试,但是根据经验,应该可以正常工作.这些方法具有用于参数的数组,因此您可以根据需要执行任意数量的数字.

Last 2 methods are un-tested, but from experience, should work fine. These methods have arrays for the parameters, so you can do as many numbers as you'd like.

这篇关于Java平均程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆