-6

私はすでに平均を取得しており、私のプログラムはすでにユーザーから3つの整数を読み取っています。私の問題は、プログラムの最大数と最小数を取得する方法がわからないことです:(

-プログラミングは初めてです:(

これが私のプログラムです:

メインクラス:

import java.util.Scanner;
public class TestNumbers {

    public static void main (String[]args){    

    int n1, n2, n3;
    System.out.println("Enter three integer numbers ");

          Scanner in = new Scanner(System.in);

          n1 = in.nextInt();
          n2 = in.nextInt();
          n3 = in.nextInt();      

    Numbers num=new Numbers();
    num.setNum(n1, n2, n3);

    System.out.println("The Maximum of : "+n1+ " , " +n2+ " , " +n3+ " is ");
    System.out.println("The Minimum of : "+n1+ " , " +n2+ " , " +n3+ " is ");
    System.out.println("The Average of : "+n1+ " , " +n2+ " , " +n3+ " is "+num.getAve());
    System.out.println("Press any key to continue...");      
    }
}

基本クラス:

public class Numbers {
    private int n1;
    private int n2;
    private int n3;
    private int ave;


    public void setNum(int n1, int n2, int n3){
        this.n1=n1;
        this.n2=n2;
        this.n3=n3;
    }

    public double getAve(){
        ave=(n1+n2+n3)/3;
        return ave;
    }

}
4

2 に答える 2

8

簡単なアルゴリズムを紹介します。最初の数字と2番目の数字を比較します.2つまでを見つけて、3番目の数字と比較します。今、あなたはコーディングをすることができますか?

于 2013-01-23T13:49:42.060 に答える
1

(n1+n2+n3)/3.0

public double getAve(){
   ave=(n1+n2+n3)/3;
   return ave;
}

ave は整数で、関数は double を返す必要があるため、この関数は心配です。計算に使用している int の精度が失われます。キャストを検討してください。

public double getAve(){
   double result = (double)(n1+n2+n3)/3.0
   return result;
}
于 2013-01-23T13:56:23.660 に答える