gpt4 book ai didi

java - 无法从增量返回 int

转载 作者:行者123 更新时间:2023-12-02 10:52:03 25 4
gpt4 key购买 nike

我目前的目标是获取一个看起来像这样的字符串

                                                   "###### 
# #
# @ ##"

@在这里是我的“角色”,“#”是应该避免的墙壁,我希望我的角色走出盒子并返回路径,我意识到我的例子很糟糕,但我希望你理解。我当前的想法是使用该字符串读取文本文件,然后创建一个数组作为二维网格,然后从那里开始工作,我当前的代码是:

package soko;
import java.io.*;
import java.util.*;

public class Sokoban2 {
static File file;
Scanner input;
static int b;
static int c;
static String[][] array;

public Sokoban2() {
//array = new String [9][9];
}


public int readFile() throws Exception{
Scanner input = new Scanner(System.in);
file = new File("C:/Users/joaki/Desktop/sokoban/readin.txt");
input = new Scanner(file);
while (input.hasNext()) {
b = b + 1;
String line = input.nextLine();
System.out.println(line);
}
input.close();
return b;
//array = new String[5][5];
}

public void insertStuff() {
//array[1][1]="2";


}

public void printStuff() {
for (int r = 0; r<2;r++){
String line2 = "";
for (int d = 0; d <2;d++){
line2+="["+array[d][r]+"]";
}
System.out.println(line2);
}
}

public static void main(String[] args) throws Exception{
Sokoban g = new Sokoban();
g.readFile();
//g.insertStuff();
//g.printStuff();
//g.creatingGrid(c,b);
//System.out.println(b);


}
}

我真的很想打印我的b,至少检查它的值,但我的程序不会返回任何值,它甚至不返回null或0,我也尝试过打印它,也没有运气,想法?

最佳答案

您没有将值返回给任何变量,我只是运行了您的代码,它工作正常,它计算文件中的行数。

    int b = g.readFile();
System.out.println(b);

如果您不将值返回给变量,您将无法访问 main 中的 b 值,因为它超出了范围,更多信息请参见此处: https://www.cs.umd.edu/~clin/MoreJava/Objects/local.html

编辑:实际上,我刚刚意识到您在类中将 b 声明为静态,并且我决定按照上面的方式运行它,我仍然让它打印出行数。

    g.readFile();
System.out.println(b);

如果您打算让函数返回一个值,并且不打算存储b,那么请删除类中的静态声明,只需在返回 b 的函数中声明它即可。

关于java - 无法从增量返回 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52095636/

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