我正在尝试在java中找到我的第一步,同时开发下面的代码
import java.util.Scanner;
public class MoyEcart {
public static void main(String[] args) {
float moy= 0, ecart_type= 0, somme= 0, carre= 0, moy_tmp, part_one;
Scanner sc= new Scanner(System.in);
System.out.print("Dernier terme de la suite:");
int n = sc.nextInt();
float[] t= new float[n];
for(int i=0; i<n; i++) {
System.out.print("Terme " + i + ":");
t[i] = sc.nextFloat();
}
for(int i=0; i<n; i++) {
somme+= t[i];
}
moy = somme/n;
moy_tmp = moy * moy;
for(int i=0;i<n;i++) {
carre += t[i] * t[i];
}
part_one = carre/n;
ecart_type=(float) Math.sqrt(part_one - moy_tmp);
System.out.println("Moyenne ="+moy);
System.out.println("Ecart type="+ecart_type);
}
}
我收到了这个错误,我找不到解决方案,所以如果你们现在有办法解决这个问题,我将不胜感激。
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextFloat(Scanner.java:2345)
at MoyEcart.main(MoyEcart.java:17)
答案 0 :(得分:1)
我运行了你的代码,它对我来说很好用!您应首先输入一个数字,然后按Enter键。之后,您需要一次输入一个数字。这意味着您需要在每个数字后按Enter键。我从你的程序得到的输出如下:
Dernier terme de la suite:3
Terme 0:1
Terme 1:2
Terme 2:3
Moyenne =2.0
Ecart type=0.8164965