我的团队正在制作一个显示哈希码的大数字的项目。 我们导入了一个本地库:ScoreboardNumbers
例如,如果用户输入4,则输出为:
SELECT email, CHARINDEX('@', email)
FROM table_name;
所以程序在下面,我们似乎无法找出其中一条线的问题。我发布了整个代码,万一我们搞砸了别的地方。
感谢您的帮助!
//主要课程
#
# #
# #
# #
# # # # #
#
#
// Instantiable class Digit
public static void main(String[] args) {
Scanner scanIn = new Scanner(System.in);
System.out.print("Digit: ");
int dig = scanIn.nextInt();
Score digit = new Score(dig);
digit.getScoreArray();
String strDigit = ScoreboardNumbers.get(Digit.getScoreArray()); //Red squiggly under the '.getScoreArray()'
Scanner scanStr = new Scanner(strDigit);
int col = 0;
while (scanStr.hasNextInt()) {
System.out.print(scanStr.nextInt() == 1 ? " #" : " ");
col++;
if (col % 5 == 0) {
System.out.println();
}
}
}
//分类:分数
public class Digit {
private int digit;
private final int ROWS = 7;
private final int COLS = 5;
public Digit(int digit) {
this.digit = digit;
}
public boolean[][] getDigitArray() {
boolean[][] arr = new boolean[ROWS][COLS];
String strDigit = ScoreboardNumbers.get(digit);
Scanner scanStr = new Scanner(strDigit);
int col = 0;
int row = 0;
while (scanStr.hasNextInt()) {
arr[ROWS][COLS] = (scanStr.nextInt() == 1);
col++;
if (col % 5 == 0) {
col = 0;
row++;
}
}
return arr;
}
}
答案 0 :(得分:0)
看起来您可能正在尝试访问一个非静态方法,就好像它是一个静态方法一样。您需要在实际的Score实例上调用getScoreArray()函数,而不是在类本身上调用。也许你想要'数字'宾语?在这种情况下,它将是digit.getScoreArray(),而不是Score.getScoreArray()。
答案 1 :(得分:0)
1 getScoreArray()属于Score类而非数字类
2 getScoreArray()不是静态方法。
答案 2 :(得分:0)
首先,你必须知道实例方法和静态方法之间的区别。
:一种。静态方法
static
关键字声明的方法。示例:
public class MyCalculator{
public static int powerOf(int number, int power){
.... some code here...
}
public static void main(String[] args){
MyCalculator x = new MyCalculator();
int answer1, answer2, answer3;
answer1 = x.powerOf(3, 6); //Correct
answer2 = MyCalculator.powerOf(4, 2); //Correct
answer3 = new MyCalculator().powerOf(4, 2); //Correct
}
}
<强> B中。实例方法
static
关键字。示例:
public class MyCalculator{
public int powerOf(int number, int power){
.... some code here...
}
public static void main(String[] args){
MyCalculator x = new MyCalculator();
int answer1, answer2, answer3;
answer1 = x.powerOf(3, 6); //Correct
answer2 = MyCalculator.powerOf(4, 2); //FALSE
answer3 = new MyCalculator().powerOf(4, 2); //Correct
}
}
代码中的行String strDigit = ScoreboardNumbers.get(Digit.getScoreArray());
从不存在的Digit类调用静态方法getScoreArray(),因此会生成错误。