我正在尝试在 Java 和 toString 中的 2 张工作表之间发送数组



不能引用非静态方法toString((,另一个是说我不能有静态toString,但当我更改它并转到main时,它说我需要一个静态toString。我想知道是否有人能理解它,因为我引用了课堂上的多个代码和笔记,但无法理解。

import java.util.Scanner;

import java.util.Arrays;

class Main 
{
public static void main(String[] args) 
{
String[] answer = new String();
answerArray();
Quiz Quiz1 = new Quiz();
Quiz.toString();
System.out.print("Number of Correct Answers: ");
System.out.println(Quiz.totalCorrect(answerArray[]));
System.out.print("Number of Mistakes: ");
System.out.println(Quiz.totalMistakes(answerArray[]));
System.out.println("The Student is"+Quiz.isPassing());
}

public static String answerArray()
{
Scanner scan = new Scanner(System.in);
String[] answerArray = new String[10];

for (int i = 0; i < answerArray.length; i++)
{
System.out.println("Enter Grade "+i+1);
answerArray[i]=scan.next;
answerArray[i]=answerArray[i].toLowerCase();
}
return answerArray;
}
}

测验类别:

import java.util.Arrays;
class Quiz 
{

public static void main(String[] args) {

String[] answerKey = new String[10];
String[] studentAns = new String[answerKey.length];

answerKey[0] = B;
answerKey[1] = D;
answerKey[2] = C;
answerKey[3] = A;
answerKey[4] = E;
answerKey[5] = A;
answerKey[6] = B;
answerKey[7] = A;
answerKey[8] = E;
answerKey[9] = B;

}
public static void studentAns(String answerKey[])
{
for (int i = 0; i < answerArray.length; i++)
studentAns[i]=answerKey[i];
for (int i=0; i<answerKey.length;i++)
studentAns[i]=studentAns[i].toUpperCase();
}
public static String getstudentAns()
{
return studentAns;
}
public static int totalCorrect(String answerArray[])
{
int numCorrect=0;
for (int i = 0; i < answerArray.length; i++)
{
if (answerArray[i].equals(studentAns[i]))
numCorrect=numCorrect+1;
}
return numCorrect;
}

public static int totalMistakes(String answerArray[])
{
int numMistakes=0;
for (int i = 0; i < answerKey.length; i++)
{
if (answerArray[i]!=studentAns[i])
numMistakes=numMistakes+1;
}
return numMistakes;
}
public static boolean isPassing()
{
if (totalCorrect-numMistakes>=7)
return PASSED;
else
return FAILED;
}
public static String toString(String answerArray[])
{
String firstLine = "ANSWER KEY t Student's Answers";
for (int i = 0; i < answerKey.length; i++)
{
String full=(i+1)+") "+answerArray[i]+"tt"+(i+1)+studentAns[i]+"n";
return full;     
}
}
}

这里您正在尝试使用一个静态方法toString((,但它不存在,因为类只有非静态方法toString((。

Quiz.toString();

要使用静态方法,您应该改为写以下内容:

Quiz.toString(answerArray());

最新更新