这是我一直遇到麻烦的任务的一部分。从我的谷歌搜索,我想我必须拆分阵列,我已经到了我现在的地步。
程序读取文本文件并将其中的文本输出到控制台。然后它要求用户输入与文本文件相关的名称。 然后它再次读取文件,接下来发生的是可变功率,根据文本文件的输入存储一个数字。
当我运行我的代码时,文本文件输出并询问输入。然后什么也没发生应该发生的是我的变量功率应该输出我名为g的数组的索引2中的值,该值应该是基于我的文本文件的10。
我的文字文件的组织方式如下:
巨
电源
10
我希望我的int power存储10,我认为这将在索引2中。 和字符(变量)是他们在被询问时输入的名称,在本例中是巨人。
我是java的初学者,感谢任何帮助。
编辑:现在这个问题已经解决了,不知道它是否有效,因为我“修复”了这个问题,发生了一个ArrayIndexOutofBoundsException:2。任何想法为什么??此错误位于第46行,即int power = Integer.parseInt(g [2]);
while ((line = creatureRead.readLine()) != null)
{
String[] g = line.split(" ");
for (int index = 0; index < g.length; index++)
{
if (character.equals("Giant"))
{
int power = Integer.parseInt(g[2]);
System.out.println(power);
}
}
creatureRead.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
答案 0 :(得分:0)
根据我的理解,这是您的计划的运作方式:
我的猜测是你必须结束文件,这就是你无法从中读取的原因。 1)关闭文件并在3)中打开它。如果情况不是这样,请告诉我。
答案 1 :(得分:0)
我有同样的问题Read a text file line by line into strings,解决方案很简单:
List<String> lst = Files.readAllLines(Paths.get("C:\\test.txt"));
并且您可以非常类似于访问数组值的方式访问这些值:
lst.get(0); //Creature
lst.get(1); //Power
lst.get(2); //10