如何在Java的Try-Catch中使用if-else语句中的变量?
String value1 = "sample";
String value2 = "sample";
int a=0;
try
{
if(value2.equals(value1))
{
a = 1;
}
int b = a;
catch (Exception e)
{
System.out.println("Update Error!");
}
int b = a;
中的a
有一个错误,显示“变量可能尚未初始化”。如何使用该变量?
发布于 2019-05-09 02:08:05
如果你像GMachado说的那样初始化你的变量,你不会得到这个错误,它会在你的try中把值从'a‘传递给'b’。你的代码中也有一个语法错误,在catch之前有一个括号丢失了。
String value1 = "sample";
String value2 = "sample";
int a=0;
try
{
if(value2.equals(value1))
{
a = 1;
}
int b = a;
} // Here!!
catch (Exception e)
{
System.out.println("Update Error!");
}
发布于 2019-05-09 01:36:15
问题是,除了在if(value2.equals(value1))
块中之外,您只在int a;
行中声明了它,而从未使用值进行初始化。但是因为if块中的这段代码不能确保运行,所以a
可能不会被初始化为传递给b。你可以在声明(或稍后赋值)时用0初始化a:
int a = 0;
发布于 2019-05-09 01:36:21
你需要给整型变量a
赋值一些默认值。
String value1 = "sample";
String value2 = "sample";
int a = 0;
try
{
if(value2.equals(value1))
{
a = 1;
}
int b = a;
}
catch (Exception e)
{
System.out.println("Update Error!");
}
https://stackoverflow.com/questions/56046156
复制相似问题