线程" main"中的例外情况java.lang.NumberFormatException:对于输入字符串:" a"

时间:2015-09-28 11:02:38

标签: java compiler-errors

 import java.io.*;

public class Joinsung {

    public static void main(String args[])throws IOException{

        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        Float javag,comg,junjag; //this is grade
        String str;
        int name;

        System.out.println("name");
        str = in.readLine();
        System.out.println("java grade");
        String str1 = in.readLine();
        System.out.println("computer grade");
        String str2 = in.readLine();
        System.out.println("eletronic grade");
        String str3 = in.readLine();

        name = Integer.parseInt(str);
        javag = Float.parseFloat(str1);
        comg = Float.parseFloat(str2);
        junjag = Float.parseFloat(str3);

        System.out.println("this is your grade ");
        System.out.print("total : ");
        System.out.println(javag + comg + junjag );
        System.out.print("avgerage : ");
        System.out.println(javag + comg + junjag );
      }
  }

我是初学者,研究java。 我想要代码!但我不能这样我需要帮助。帮我? 这个代号是"等级计算器" 用户可以插入成绩和程序做计算器(ex avg,total ..) 解释如此短暂的帮助我

4 个答案:

答案 0 :(得分:1)

我认为异常就在这一行

name = Integer.parseInt(str);

您正在尝试解析不是整数的字符串(名称)。

答案 1 :(得分:1)

您是否想要获得" name"作为整数输入或应该是一个字符串值。尝试将所有值输入为整数或浮点数,程序将成功运行。

如果提供了任何String值甚至空白,程序将给出NumberFormatException,将值视为String。

答案 2 :(得分:0)

我明白你的意思;)

您正在尝试解析A'作为一个年级,但' A'实际上是一个字符串而不是数字等级,这是你在这个例子中想要的。

因此name = Integer.parseInt(str);在这种情况下无效。如果您解析了表示Integer.parseInt("12345")之类的数字的字符串,这将是有效的,这将输出值为12345的整数。

有几种方法可以做到,但我的建议是保持简单:)。

创建if

if(int >= 80) {
    string = "A"
} else if (int >= 60 && int <80) {
    string = "B";   
} etc...
在这种情况下,

int代表数字&#39;老师&#39;进入系统。然后,每个数字都可以与给定的文字等级相关联

答案 3 :(得分:-1)

试试这个,

import java.io.*;

public class Joinsung {

public static void main(String args[])throws IOException{

    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    Float javag,comg,junjag; //this is grade
    String name;            // this is name

    System.out.println("name");
    name = in.readLine();       //getting value for name
    System.out.println("java grade");
    String str1 = in.readLine();
    System.out.println("computer grade");
    String str2 = in.readLine();
    System.out.println("eletronic grade");
    String str3 = in.readLine();

    javag = Float.parseFloat(str1);
    comg = Float.parseFloat(str2);
    junjag = Float.parseFloat(str3);

    System.out.println("this is your grade ");
    System.out.print("total : ");
    System.out.println(javag + comg + junjag );
    System.out.print("avgerage : ");
    System.out.println((javag + comg + junjag )/3);
  }

}