Scanner的一些问题

来源:8-5 Java 中的成员变量和局部变量

小豪呵呵

2015-11-02 10:36

import java.util.Scanner;


public class 无参带返回值方法的使用 {

    public static void main(String[] args) {        

// 创建名为hello的对象

    无参带返回值方法的使用 hello = new 无参带返回值方法的使用();      

// 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中

double avg =hello.calcAVG();         

System.out.println("平均成绩为:" + avg);

}

// 定义一个返回值为double类型的方法

   public double calcAVG() { 

   Scanner input=new Scanner(System.in);//创建Scanner对像

   System.out.println("请输入第一个数值:");

   double java=input.nextInt(); 

   System.out.println("请输入第二个数值:");

   double php=input.nextInt();

double avg = (java + php) / 2; // 计算平均值       

// 使用return返回值

        return avg;        

}

}

这个问题出在哪里?

下面为报错:

请输入第一个数值:

96.5

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.nextInt(Scanner.java:2117)

at java.util.Scanner.nextInt(Scanner.java:2076)

at 无参带返回值方法的使用.无参带返回值方法的使用.calcAVG(无参带返回值方法的使用.java:17)

at 无参带返回值方法的使用.无参带返回值方法的使用.main(无参带返回值方法的使用.java:10)

(这个报错是什么意思)

写回答 关注

2回答

  • luckIsAttitude
    2015-11-02 12:14:57
    已采纳

    用input.nextDouble()方法试试,这个异常是输入的数据类型不匹配造成的

    小豪呵呵

    非常感谢!

    2015-11-02 13:44:59

    共 1 条回复 >

  • 天启之魂
    2015-11-02 12:27:38

     double java=input.nextInt();   double php=input.nextInt();

    改成input.NextDouble();

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530553 学习 · 6091 问题

查看课程

相似问题