永发信息网

number1 和number2 被提示可能未初始化变量

答案:4  悬赏:10  手机版
解决时间 2021-04-07 23:50
  • 提问者网友:动次大次蹦擦擦
  • 2021-04-07 16:47
import javax.swing.JOptionPane;//program uses 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);//terminate application with window
}//end method main
}//end class Product
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-04-07 17:02
如果在try…catch块中抛出异常,那number1或number2就不会被初始化了。
你可以把
product= number1 * number2;
JOptionPane.showMessageDialog(null,number1+"*"+number2+"="+product,"结果",
JOptionPane.PLAIN_MESSAGE);
System.exit(0);//terminate application with window
放到try中,或者给number1和number2赋初值
int number1=0;
int number2=0;
全部回答
  • 1楼网友:玩世
  • 2021-04-07 20:37
这里这样赋初始值为0就可以了 int number1=0; int number2=0;
  • 2楼网友:等灯
  • 2021-04-07 19:33
尽管你的逻辑是正确的,但是Java从语法检查角度是比较笨的, 它发现你的number1和number2的赋值是在try{}里面的,而catch也里面没有赋值(尽管退出了)。 所以就按照eclipse推荐的方法,在开始就把它们赋值即可。 int number1=0; int number2=0;
  • 3楼网友:动情书生
  • 2021-04-07 18:39
不初始化就是null了 sql> set serveroutput on; sql> sql> declare 2 l_n number; 3 begin 4 dbms_output.put_line(l_n + 1); 5 end; 6 / pl/sql procedure successfully completed 输出就是空 !
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯