这是我第一次编写多个方法,我需要一个程序,它会取一些用户输入的双值并找到平均值。这是我到目前为止所尝试的,它打印出来:
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);
}
}
答案 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();
并将计数类型更改为加倍