0

複数のメソッドを作成するのはこれが初めてで、ユーザーが入力した double 値を取得して平均を求めるプログラムが必要です。これは私がこれまでに試みたものであり、出力されます:

Exception in thread "main" java.util.InputMismatchException     
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)  
at java.util.Scanner.nextInt(Unknown Source)     
at java.util.Scanner.nextInt(Unknown Source)     
at Lab5.main(Lab5.java:11)
import java.util.*;
public class Lab5
{
    public static void main(String args[]) {
    Scanner scan = new Scanner(System.in);
    int count = 0;
    double sum = scan.nextDouble();
    count = scan.nextInt();
    printLineAverage(sum, count++);

}

    public static void printLineAverage(double sum, int count)
    {
        double average =  sum/count;
        System.out.println(average);
    }
}
4

4 に答える 4

0

あなたの問題は、プログラムで int 値を期待しているときに、カウントに double 値を入力することです。それ以外は、コードは正常に機能しています。

に変更count = scan.nextInt();count = scan.nextDouble();、カウントのタイプを double に変更します

于 2013-09-26T02:19:41.170 に答える
0

複数の値を取得するには、ループが必要です。次に、ユーザーが(たとえば)数値ではない文字を入力すると、入力の受け入れを停止し、平均を計算して出力します。

public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);
    int count = 0;
    double sum = 0;

    while (scan.hasNextDouble()) { 

      sum +=  scan.nextDouble();
      ++ count;

    }

    scan.close();
    printLineAverage(sum, count);
}

ユーザーが最初に入力する予定の数値の数を入力するようにするには、値を取得し、ループをcount使用for(int i=1, i<=count, ++i)して double を合計する必要があります。

于 2013-09-26T01:55:52.260 に答える
0

ヒント: 正しい場所に結果を表示する必要があります!! あなたはそれをしましたか??

System.out.println(printLineAverage(sum, count++));printLineAverage メソッドの表示結果に追加します。

更新:メインメソッドを次のように変更します

public static void main(String args[]) {
        Scanner scan = new Scanner(System.in);
        int count = 0;
        double sum = scan.nextDouble();
        count = scan.nextInt();
        printLineAverage(sum, count++);

    }

countまた、 rememberの値を入力するときは、 int(小数を含まない) である必要があります。double 入力を処理するようにコードを拡張し、型をcountfrom からintto に変更する場合double

于 2013-09-25T22:21:21.633 に答える
0

これで始められるはずです:

System.out.println(printLineAverage(sum, count++));
于 2013-09-25T22:21:23.390 に答える