2015-05-20 100 views
-2

我的大部分代码是工作代码,它只是当我尝试添加用户输入的乘法时,我开始出现错误。你能给我建议如何更好地完成或摆脱错误?这是我的乘法是错误的还是我的整数?

package resittests; 
import java.util.Scanner; 
import javax.swing.JOptionPane; 

public class Inputting { 

    public static void main(String[] args) { 
     Scanner Scan = new Scanner (System.in); // Creates the Scanner to allow input 

     System.out.print("Enter a Number"); 
     String input = null; 
     String first = Scan.next(); 
     int num1 = Integer.parseInt(input); 

     String Second; // Second Declared as a string 
     Second = JOptionPane.showInputDialog("Enter Another Number"); 
     String input2 = null; 
     int num2 = Integer.parseInt(input2); 

     System.out.print("What is your Name?"); 
     String name = Scan.next(); 

     String Age; // Age Declared as a String 
     Age = JOptionPane.showInputDialog("Enter your age "); 

     System.out.print(name + " "+ "(Aged" + " " + Age + ")" + "," + "your answer is " + (num1 * num2)); 
    } 
} 
+1

“你能给我建议如何做得更好或摆脱错误“开始阅读错误,并解决他们通常明确指出的原因。 – ceejayoz

+0

异常在线程 “主” java.lang.NumberFormatException:空 \t在java.lang.Integer.parseInt(Integer.java:542) \t在java.lang.Integer.parseInt(Integer.java:615) \t (输入 –

+0

不明白这是什么 –

回答

0

异常在线程 “主” java.lang.NumberFormatException:空在java.lang.Integer.parseInt(Integer.java:542)

NumberFormatException抛出如果Integer.parseInt不能将参数String解析为int - 堆栈跟踪指示它尝试解析的值,在此例中为null。原因:你传递给Integer.parseInt的字符串是null。如果要分析用户的输入,然后通过用户输入字符串Integer.parseInt,例如:

//String input = null; 
String first = Scan.next(); 
//int num1 = Integer.parseInt(input); 
int num1 = Integer.parseInt(first); 

注意的是,如果用户没有输入一个有效的整数Integer.parseInt将抛出一个NumberFormatException

+0

所以我怎么会得到它来存储输入一旦他们已被注释掉 –

+0

我不完全确定你在问什么 - 'first'是存储用户输入的值的变量,'num1'是一个变量先'转换为'int'。 – copeg

相关问题