gpt4 book ai didi

java - 浏览文件

转载 作者:行者123 更新时间:2023-11-30 02:59:59 25 4
gpt4 key购买 nike

我正在编写一个接收 2 个字符串的程序,一个输入字符串,一个输出字符串。输入字符串是一个文本文件的名称,其中包含有关网格高度和长度、运行者在网格上的起始位置、然后移动方向以及移动距离的说明。我已设法从文本文件中获取网格和起始位置,但是我在使用说明移动运行者时遇到问题。这是我的代码:

while(in.hasNext()){
String s = in.nextLine();
int i = 0;

for(String keep : s.split(" ")){
if(i==4){
break;
}
steps[i++] = Integer.parseInt(keep);
}
first++;
if (first>3){
break;
}
}
while(in.hasNext()){
String s = in.nextLine();
String x = in.nextLine();
if(s.equals("N")){
spaces = Integer.parseInt(x);
steps[2] = steps[2]-spaces;
}
else if(s.equals("S")){
spaces = Integer.parseInt(x);
steps[2] = steps[2]+spaces;
}
else if(s.equals("W")){
spaces = Integer.parseInt(x);
steps[3] = steps[3]-spaces;
}
else if(s.equals("E")){
spaces = Integer.parseInt(x);
steps[3] = steps[3]+spaces;
}
if(steps[2]<0||steps[2]>steps[0]){
wrt.println("lost");
wrt.close();
in.close();
return;
}
if(steps[3]<0||steps[3]>steps[1]){
wrt.println("lost");
wrt.close();
in.close();
return;
}
}
wrt.println(steps[2]+ "" + " " + steps[3] + "");

最佳答案

根据我们在问题评论中进行的讨论,您需要执行以下操作

  1. 从文件中读取一行
  2. 读取该行的前四个数字
  3. 读取该行的下一个字符和数字,并对其执行某些操作
  4. 返回3),直到没有更多的行。
  5. 返回 1),直到没有更多文件为止。

您的解决方案的问题在于您执行了 1) 和 2),然后在 3) 之前读取文件中的下一行。如果文件中只有一行,则程序结束。

您需要更改读取数据的方式。查看java.util.Scanner ,这可能对您有帮助。

更新:

看这部分代码:

if(keep.equals("N")){
spaces = Integer.parseInt(keep);

看到问题了吗?

此外,this method Scanner 可能会帮助您,而不是分割字符串。

关于java - 浏览文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36242276/

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