尝试在数组初始化中捕获

时间:2012-02-18 05:19:20

标签: java arrays try-catch

快速提问。有没有办法让这成为可能?

int array [] =  new int [
     (try {
          Integer.parseInt (/*get string input here*/);
          }
     catch (NumberFormatException e){
     //error handling here
     )
];

3 个答案:

答案 0 :(得分:0)

这不是合法的语法。尝试这样的事情:

int number;
try
{
     number = Integer.parseInt (/*get string input here*/);
}
catch (NumberFormatException e)
{
     //error handling here
}

int array [] =  new int [2];
array[0] = number;

这有点冗长,但我猜是欢迎使用Java。

答案 1 :(得分:0)

就像Brian说的那样..你需要在数组初始化之上移动你的try / catch块。

int i;

try{
  string myString = "1";
 i = Integer.parseInt(myString)l
} catch(NumberFormatException e){
  //handle
}

int array [] = new int[3];

答案 2 :(得分:0)

见下文......

int myArray[] = new int[10];
String tempString = "1";
try {
    for (int i=0;i<=9;i++) {
        tempString += i;
        myArray[i]=Integer.parseInt(tempString);
    }
} catch (NumberFormatException nfe) {
    // print error
} catch (Exception e) {
    // print error
}