我是Java的新手,请尝试一些简单的示例以熟悉基础知识。这是一个程序,用于查看用户指定的三个整数是否都相等。
import java.lang.*;
import java.util.*;
public class CheckEqual{
public static void main(String [] args){
if (args.length != 5){
System.out.println("Please check the number of your integers!");
return;
}
try{
int firstInteger = Integer.parseInt(args[2]);
int secondInteger = Integer.parseInt(args[3]);
int thirdInteger = Integer.parseInt(args[4]);
}
catch(NumberFormatException e){
System.out.println("Make sure that all inputs are integers!");
return;
}
if (firstInteger == secondInteger && secondInteger == thirdInteger){
System.out.println("True");
return;
}
else{
System.out.println("False");
return;
}
}
}
在编译期间,它在firstInteger,secondInteger和thirdInteger上给了我错误“找不到符号”。为什么会这样,我该如何解决?
Java在每个变量上使用一个作用域。基本上,如果在if块中创建变量,如下所示:
if(statement){
int x = 1;
}
x++;
x变量仅存在于if块的范围内。此后不存在。这意味着x ++会产生错误,因为x在此范围内不存在。在您的代码中的try块中也是如此。firstInteger,secondInteger和thirdInteger在try块之外不存在。您应该更改以下代码:
import java.lang.*;
import java.util.*;
public class CheckEqual{
public static void main(String [] args){
if (args.length != 5){
System.out.println("Please check the number of your integers!");
return;
}
try{
int firstInteger = Integer.parseInt(args[2]);
int secondInteger = Integer.parseInt(args[3]);
int thirdInteger = Integer.parseInt(args[4]);
if (firstInteger == secondInteger && secondInteger == thirdInteger){
System.out.println("True");
return;
}
else{
System.out.println("False");
return;
}
}
catch(NumberFormatException e){
System.out.println("Make sure that all inputs are integers!");
return;
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句