我有已解析的字符串,我可以拆分所有必要的项目。我可以采用以下值:“|您在一个大的黑暗房间| false 1 -1 -1 2”,“|您在一个黑暗的大房间| false -1 0 -1 -1”,“ |你在一个大房间里,非常暗| false 0 0 3 0 ", "|你在一个暗房间里,非常小| true 0 0 0 0 " 我可以得到描述,真/假值,和数字全部分开。但是,当我尝试将数字解析为整数值时,出现数字异常错误。
我最初尝试使用整数 roomValue 和扫描仪 roomString 将 getNextInt() 放入 roomValue 中。那非常失败。下面的代码将所有内容分开,但是一旦我尝试分配字符串数组的整数值,就会收到错误。
description = fullDesc.substring(1, fullDesc.indexOf("| "));
gameRooms[roomNumber] = new Room(description);
fullDesc = fullDesc.substring(fullDesc.indexOf("| ") + 2);
if (fullDesc.contains("true"))
gameRooms[roomNumber].putGrail();
fullDesc = fullDesc.substring(fullDesc.indexOf(" "));
String[] roomString = fullDesc.split(" ");
Integer[] adjRoomNum = new Integer[roomString.length];
for (int i = 0; i < roomString.length; i++) {
//adjRoomNum[i] = Integer.parseInt(roomString[i]);
//System.out.println(adjRoomNum[i]);
System.out.println((roomString[i]));
}
/*
roomValue = roomString.nextInt();
if ((roomValue) >= 0)
gameRooms[roomNumber].setAdjacent(0, gameRooms[Integer.valueOf(roomValue)]);
else if ((roomValue) == -1)
gameRooms[roomNumber].setAdjacent(0, null);
roomString
roomValue = roomString.nextInt();
if ((roomValue) >= 0)
gameRooms[roomNumber].setAdjacent(1, gameRooms[Integer.valueOf(roomValue)]);
else if ((roomValue) == -1)
gameRooms[roomNumber].setAdjacent(1, null);
roomValue = roomString.nextInt();
if ((roomValue) >= 0)
gameRooms[roomNumber].setAdjacent(2, gameRooms[Integer.valueOf(roomValue)]);
else if ((roomValue) == -1)
我看到有空格被读入字符串数组的第一个值,并将解析抛出数字格式异常。我尝试删除空白,但没有成功。
偶然的你
慕村225694
繁华开满天机
相关分类