用多种方法编程,找到并平均

时间:2013-09-25 22:18:46

标签: java methods

这是我第一次编写多个方法,我需要一个程序,它会取一些用户输入的双值并找到平均值。这是我到目前为止所尝试的,它打印出来:

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 个答案:

答案 0 :(得分: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输入值时,请记住它必须是int(不包含小数)。如果您想扩展代码以处理双输入,并将count的类型从int更改为double

答案 1 :(得分:0)

这应该让你开始:

System.out.println(printLineAverage(sum, count++));

答案 2 :(得分: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)循环来计算双打总数。

答案 3 :(得分:0)

您的问题是,当您期望程序中的int值时,您为计数输入一个double值。除此之外,您的代码工作正常。

count = scan.nextInt();更改为count = scan.nextDouble();并将计数类型更改为加倍