0

複数の整数の平均を計算するために使用できる Average というクラスを作成します。次のメソッドが含まれている必要があります。

  1. 2 つの整数パラメーターを受け取り、それらの平均を返すメソッド。
  2. 3 つの整数パラメーターを受け取り、それらの平均を返すメソッド。
  3. 範囲を表す 2 つの整数パラメーターを受け入れるメソッド。

2 番目のパラメーターが最初のパラメーターより小さい場合は、エラー メッセージを発行してゼロを返します。それ以外の場合、メソッドはその範囲内 (包括的) の整数の平均を返す必要があります。クラスを実装し、そのメソッドをテストしてソース コード (.java ファイル) を提出するプログラムを作成します。

私はパート 3 で立ち往生しています。規定がよくわかりません。浮動小数点/倍精度を使用しますか? ここに私がこれまでに持っているプログラムがあります:

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; 
  } 
}
4

4 に答える 4

1

ここで尋ねたのと同じ質問を再質問しないでください:http://stackoverflow.com/questions/19507108/java-averaging-program

むしろ、他の投稿を更新して、新しいコード/質問を反映してください。

今あなたの質問に:

  1. 範囲を表す 2 つの整数パラメーターを受け入れるメソッド。2 番目のパラメーターが最初のパラメーターより小さい場合は、エラー メッセージを発行してゼロを返します。それ以外の場合、メソッドはその範囲内 (包括的) の整数の平均を返す必要があります。クラスを実装し、そのメソッドをテストしてソース コード (.java ファイル) を提出するプログラムを作成します。

メソッドを宣言することから始めましょう。それを static として宣言して、プログラムに適合させます (独自のオブジェクトを作成していないため)。次に、パラメーターが割り当て命令に従っているかどうかを確認し、それに応じて値を返します。

public static int getRange(int firstValue, int secondValue)
    {
        int range;
        if (firstValue > secondValue)
            range = firstValue - secondValue;
        else
        {
            range = 0;
            System.out.println("Error!");
        }
        return range;
    }

**理解を深めるために、範囲内の整数の平均を見つけるのはあなた次第です!

于 2013-10-22T02:13:44.693 に答える
0

宿題をするためにここにいるわけではありませんが、私はすでにここにいるので、範囲は最大数と最小数の差です。

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

物事を簡単にするために...

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 つの方法はテストされていませんが、経験上、問題なく動作するはずです。これらのメソッドにはパラメーターの配列があるため、好きなだけ数を指定できます。

于 2013-10-22T02:10:10.747 に答える