gpt4 book ai didi

java-无法从非静态中找到方法

转载 作者:行者123 更新时间:2023-12-01 13:18:15 24 4
gpt4 key购买 nike

我有 2 个类,dog 和printing,dog 类的目的是将 char[][] 发送到打印,以便它可以打印到打印机。但是dog类在printing类中找不到打印方法。

//Printing class-
public class Printing implements Printable, ActionListener {
String str = "";

public String printString(char [][] grid ){
for(int i=0;i<9;i++){
for (int j=0;j<9;j++){
str += String.valueOf(grid[i][j]);
}
str += "\n";
}
return str;
}
}

然后我也在另一种方法中需要这个 str 。当我输入 Printing.printString(grid); 时,无法从静态上下文中引用它。当我将其更改为 public static String(char [][] grid ) 时,它的方法找不到 str 字符串变量。

最佳答案

除非将其设置为静态,否则不能像这样调用 Printing.printString(grid);

此外,如果您将 printString() 方法设置为静态方法,则需要将 str 声明为静态方法,因为您无法在静态方法中引用非静态变量。

所以你的代码应该如下所示:

public class Printing  implements Printable, ActionListener {
static String str = "";

public String printString(char [][] grid ){
for(int i=0;i<9;i++){
for (int j=0;j<9;j++){
str += String.valueOf(grid[i][j]);
}
str += "\n";
}
return str;
}
}

了解有关静态的更多信息 variables and methods

关于java-无法从非静态中找到方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22285760/

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