2015-09-28 64 views
0
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。 我想要遵守代码!但我不能,所以我需要帮助。帮我? 这个代号为“级计算器” 用户可以插入级和程序做计算器(如AVG,总..) 解释这么短帮我请异常在线程“主”java.lang.NumberFormatException:对于输入字符串:“a”

+0

您尝试了''string'转换了''到number',你'parse'方法及其之一。 –

+0

你有没有尝试在基础10系统中计算'a + 1'?那么你应该知道,和异常名一起,值'a'不代表一个有效的数字,因此不能被解析为一个。 – SomeJavaGuy

+0

向我们展示您的控制台输出。 –

回答

1

我觉得例外是在这条线

name = Integer.parseInt(str); 

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

0

我明白你的意思;)

您正在试图解析“A”为一档,但“A”实际上是一个字符串,而不是数字等级这是你在这个例子中想要的东西。

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

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

创建如果块

if(int >= 80) { 
    string = "A" 
} else if (int >= 60 && int <80) { 
    string = "B"; 
} etc... 

int在这种情况下,将表示“老师”进入系统的号码。每个数字然后可以与给定文字等级

1

你是否想要“名称”作为整数输入或应该这是一个字符串值。尝试将所有值输入为整数或浮点数,并且程序将成功运行。

如果提供了任何字符串值或者甚至是空白,程序将给出一个NumberFormatException,将该值作为字符串处理。

+0

请在问题下添加进一步的澄清请求作为评论。 – frhd

-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); 
    } 

}

相关问题