我正在编写一个游戏,在程序中我需要根据文件添加新的敌人。现在,我的问题是,尝试读取此文件时,我遇到了一个无限的while循环。我是编程的新手,所以我不确定如何解决此问题。这是问题代码。文件中条目外观的一个示例是:“ Troll,6,4,1”。谢谢您的帮助。
try { Scanner input = new Scanner(new File(filename)); while(input.hasNext()); { input.useDelimiter(",|\n"); String name = input.next(); int strength = input.nextInt(); int speed = input.nextInt(); int numVials = input.nextInt(); Enemy newEnemy = new Enemy(name, strength, speed, numVials); opponents.add(newEnemy); input.close(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }
由于;您的while声明之后,导致了无限循环。我也相信您的代码存在与逻辑相关的问题。我们可以读取文件的每一行,然后使用以下代码根据’,’拆分每一行:
;
while
String line[]; do { line = input.next().split(","); String name = line[0]; int strength = Integer.parseInt(line[1]); int speed = Integer.parseInt(line[2]); int numVials = Integer.parseInt(line[3]); Enemy newEnemy = new Enemy(name, strength, speed, numVials); opponents.add(newEnemy); input.close(); } while (input.hasNext());