[求助]下下面的程序问题出在哪
下面的程序是我在书上抄下来的,老是说number1,number2没有初始化,我也不知道是哪抄错了,哪位仁兄帮我看看是哪的问题import javax.swing.JOptionPane;
public class Product
{
public static void main(String args[])
{
String firstNumber;
String secondNumber;
int number1;
int number2;
int product;
firstNumber=JOptionPane.showInputDialog("输入乘数");
secondNumber=JOptionPane.showInputDialog("输入被乘数");
try{
number1=Integer.parseInt(firstNumber);
number2=Integer.parseInt(secondNumber);
}
catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null,"你有输入错误","消息",
JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
product=number1 * number2;
JOptionPane.showMessageDialog(null,number1+"*"+number2+"="+product,
"结果",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
----------------解决方案--------------------------------------------------------
刚刚我在定义number1和number2时给换成了
int number1=1;
int number2=2;
就可以了,是什么原因
----------------解决方案--------------------------------------------------------
太多了,把我眼都看花了,能不能写大一点啊
----------------解决方案--------------------------------------------------------
因为你定义的时候没有给它初始化,而是放在try语句中进行,而try里的语句有可能不会被执行.
因此你后面使用的时候有可能它们还没有被初始化。
----------------解决方案--------------------------------------------------------
谢谢上面一楼和二楼的
----------------解决方案--------------------------------------------------------
就因为你number1和number2都在try块里面附的值,说白了其实就是作用域的问题
----------------解决方案--------------------------------------------------------