Tag: infinite loop

将文件中的对象添加到程序中

我正在编程游戏,在程序中我需要根据文件添加新的敌人。 现在我的问题是我在尝试读取此文件时遇到了无限循环。 我对编程比较陌生,所以我不确定如何解决这个问题。 这是问题代码。 文件中条目的示例如下:“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(); […]

Scanner.hasNext上的无限循环,从文件中读取

我显然在while(input.hasNext())上面临无限循环,如下面的代码所示 File file = new File(“data.txt”); Scanner input = new Scanner(file); int sum = 0; while (input.hasNext()) { if (input.hasNextInt()) { sum += input.nextInt(); } } System.out.println(sum); 一些相关的问题解释了为什么如果输入流是System.in它总是返回true,但是我正在扫描File 。 请让我知道我哪里出错了。 我正在尝试计算唯一整数值​​的总和(以空格分隔的位置)。 编辑: 经验教训, input.hasNext()不会将指针移动到下一行,因此扫描仪不会超过任何输入。 正如在这个问题的答案以及这里所解释的那样。