Ich habe ein Magic-Square-Programm gemacht und es ist getan, aber eine der Methoden in meiner Klasse kann nicht von der Hauptmethode aufgerufen werden. Ich habe zwei Methoden in der Klasse und nur eine von beiden wird nicht gefunden. noRep
ist eine Methode, die sicherstellt, dass die eingegebenen Zahlen nicht wiederholt werden. Wenn ich versuche, es aus dem Hauptverfahren zu verwenden, sagt die CompilerWarum kann der Fahrer keine Methode in einer Klasse finden?
nicht Symbol Methode Norep (int [] [])
Hier ist die Klasse finden:
public class MagicClass
{
public static boolean noRep(int[][] square)
{
int[] one = new int[10];
for (int i = 1; i < 10; i++)
one[i] = 0;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (square[i][j] < 1 || square[i][j] > 9)
return false;
one[square[i][j]]++;
}
}
for (int i = 1; i < 10; i++)
if (one[i] != 1)
return false;
return true;
}
public static boolean checkSums(int[][] square)
{
for (int i = 0; i < 3; i++)
{
int sum = 0;
for (int j = 0; j < 3; j++)
sum += square[i][j];
if (sum != 15)
return false;
}
for (int j = 0; j < 3; j++)
{
int sum = 0;
for (int i = 0; i < 3; i++)
sum += square[i][j];
if (sum != 15)
return false;
}
if (square[0][0] + square[1][1] + square[2][2] != 15)
return false;
if (square[0][2] + square[1][1] + square[2][0] != 15)
return false;
return true;
}
}
Hier ist die Hauptmethode:
import java.util.*;
import java.util.Scanner;
public class MagicSquares {
public static void main(String[] args) {
int[][] square = new int[3][3];
Scanner input = new Scanner(System.in);
MagicClass MagicSqr = new MagicClass();
//checkFrequency Frequent = new checkFrequency(square); TESTING
//void Fre = MagicClass.checkFrequency (square); TESTING
System.out.println("Please enter your magic square.");
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
square[i][j] = input.nextInt();
if (checkSums(square && noRep(square)))
System.out.println("You have a magic square");
else
System.out.println("Not a magic square");
}
}
'MagicSquare.noRep' – sidgate
Wie würde ich das erklären? Ich habe versucht, eine Initialisierung in eine Variable zu speichern, wusste aber nicht, welche Variable verwendet werden soll. Danke für Ihre Antwort. – Nub
@ user1211, keine Notwendigkeit für Objekt, Methode ist statisch – sidgate