异常 - 线程“main”java.util.InputMismatchException中的异常

时间:2014-12-26 22:19:09

标签: java exception int solution

我正在尝试在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) 

1 个答案:

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