gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 01:54:55 24 4
gpt4 key购买 nike

我正在编写一个游戏,在程序中我需要根据文件添加新的敌人。现在我的问题是,在尝试读取此文件时遇到了无限 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();
}

最佳答案

input.hasNext() 不会将指针移动到下一行。

第一次调用hasNext()后,如果没有从文件中读取,hasNext()将始终返回true。因为输入的前面没有改变。

试试这个:

try {
Scanner input = new Scanner(new File(filename));
String x = null;

while((x = input.next()) != null)
{
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();
}

关于java - 将文件中的对象添加到程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52448205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com