0

我有一个从文件中读取的字符串对象数组。其中一些字符串我需要用作整数。我写了一个方法来读取文件,但现在我只是不知道如何从文件中获取数字,这里是文件

29,,
Chute,1,0
Chute,2,0
Chute,3,0
Chute,4,0
Chute,5,0
Chute,6,0
Chute,7,0
Chute,8,0
Chute,9,0
Chute,0,1
Chute,0,2
Chute,0,3
Chute,9,1
Chute,9,2
Chute,9,3
Ladder,0,5
Ladder,1,5
Ladder,2,5
Ladder,3,5
Ladder,4,5
Ladder,5,5
Ladder,6,5
Ladder,7,5
Ladder,8,5
Ladder,9,5
Ladder,9,6

这是我的方法

public void readBoard(String file)throws FileNotFoundException
{
    File clboard = new File ("myBoard.csv");
    Scanner x = new Scanner(clboard);
    while(x.hasNext())
    {
        String c = x.nextLine();
        String [] myboard =c.split(","); 
    }
}
4

3 回答 3

1

尝试

int numOne = Integer.parseInt(myboard[1]);
int numTwo = Integer.parseInt(myboard[2]);

在你的split线路之后。

于 2013-04-25T22:01:09.877 回答
0
String [] myboard = c.split(",");
if (myboard.length < 3) {
    // error message
} else {
    int i1 = Integer.parseInt(myboard[1]);
    int i2 = Integer.parseInt(myboard[2]);
}

您可能还想添加一个 try/catch 来处理NumberFormatException(当您尝试转换不是数字的东西时会发生这种情况)。

于 2013-04-25T22:00:48.560 回答
0
public void readBoard(String file)throws FileNotFoundException
{
    File clboard = new File ("myBoard.csv");
    Scanner x = new Scanner(clboard);
    while(x.hasNext())    {
        List<Integer> number = new ArrayList<Integer>();
        String c = x.nextLine();
        String [] myboard =c.split(",");
        for (String candid8 : myboard) {
           try {
                number.add(Integer.parseInt(candid8));
           } catch (NumberFormatException e) {
           }
        }
    }
}

您的号码现在将在号码对象中,这是一个列表。如果它是一个更复杂的语法,请查看jflex,因为这似乎是谷歌的推荐。

于 2013-04-25T22:03:50.750 回答