我的代码在main方法中工作,但是一旦我尝试将它放在自己的方法中,我得到“args无法解析为变量”另外,我对java很新,有没有办法为了简化这个代码块,我有一本显示模块化代码的书,但没有详细解释。
private static boolean validateInput() {
//if invalid character is entered ie. a letter, will go to the catch
try
{
number1 = Integer.parseInt(args[0]);
}
catch (Exception e)
{
System.out.println("Input #1 is not a valid integer.");
return false;
}
try
{
number2 = Integer.parseInt(args[1]);
}
catch (Exception e)
{
System.out.println("Input #2 is not a valid integer.");
return false;
}
try
{
number3 = Integer.parseInt(args[2]);
}
catch (Exception e)
{
System.out.println("Input #3 is not a valid integer.");
return false;
}
return true;
}
答案 0 :(得分:4)
您可以将String[] args
作为参数传递给validateInput()
。
public static void main(String[] args) {
if (validateInput(args)) {
...
}
}
private static boolean validateInput(String[] args) {
...
}
答案 1 :(得分:2)
您需要将args
传递给方法,否则它不知道它是什么。
将validateInput
方法重新声明为
private static boolean validateInput(String[] args) {
从你的主要方法,称之为....
public static void main(String[] args) {
//...Pre init...
boolean isValid = validateInput(args);
//...Post init...
}
答案 2 :(得分:0)
更改
private static boolean validateInput() {
到
private static boolean validateInput(String[] args) {
并在main
中将其称为
boolean result = validateInput(args);