将文件移动到新的包后出现Java错误 [关闭]。

问题描述 投票:0回答:1

我把我正在做的3个文件移到了新的包里,现在又出现了新的错误。我还在让它工作的过程中。这个错误是 "问题不能被解析到一个类型"。我只是在学习Java,而且对它很陌生。我需要把其他文件也加进去吗?EDIT : 这是我加到包里的问题,但是我现在这个问题上出现了一个错误 "静态字段Question.nQuestion应该以静态方式访问",我不知道为什么?我用两个星号把有错误的部分高亮显示出来了

package com.quiz6;
import javax.swing.JOptionPane;

public  abstract class Question {
  static int nCorrectAnswer = 0;
  static int nQuestion = 0;
  String question;
  String correctAnswer;
  //abstract method ask
  public abstract String ask();
  //the same method
  public void check() {
      String answer = ask();
      **this.nQuestion++;**
      if (answer.equalsIgnoreCase(this.correctAnswer)) {
          JOptionPane.showMessageDialog(null, "Correct!");
          **this.nCorrectAnswer++;**
      } else {
          JOptionPane.showMessageDialog(null, "Incorrect");
      }
  }
  public static void showResults() {
      JOptionPane.showMessageDialog(null, nCorrectAnswer + " correct out of questions " + nQuestion);
  }
}
package com.quiz6;
import com.quiz6.MultipleChoiceQuestion6;
import com.quiz6.TrueFalseQuestion;

public class quiz6 {

  public static void main(String[] args) {

    **
    Question question;
    question = new MultipleChoiceQuestion6("What is the capitol of Singapore?", **
      "Singapore",
      "Dublin",
      "Tokyo",
      "Shanghai",
      "Bangkok.",
      "A");

    question.check();

    question = new MultipleChoiceQuestion6("What is the capitol of America?",
      "New York",
      "San Francisco",
      "Alaska",
      "Washington DC",
      "Minnesota",
      "d");
    question.check();

    question = new MultipleChoiceQuestion6("What is the capitol of Europe?",
      "Ireland",
      "Germany",
      "Czech Republic",
      "France",
      "Trick Question",
      "e");
    question.check();

    question = new MultipleChoiceQuestion6("Who accidentally overwrote their Quiz file?",
      "Yourself",
      "Johann",
      "Norberto",
      "Trump",
      "Me!",
      "e");
    question.check();

    //true or false questions here
    question = new TrueFalseQuestion("Sharks are mammals", "FALSE");
    question.check();

    question = new TrueFalseQuestion("Spiders have six legs.", "FALSE");
    question.check();

    question = new TrueFalseQuestion("My brain is sore from Java.", "TRUE");
    question.check();
    //we show the results of the quiz
    question.showResults();
  }
}
java
1个回答
0
投票

"Question cannot be resolved to a type "你得到这个错误是因为程序无法找到名为'Question'的类.我曾经发生过一次非常类似的事情,当该文件或类在同一个包中不可用时,就会发生这种情况,所以,你需要在同一个包中复制'Question'类,希望这将解决这个问题。


0
投票

请检查你为你的类使用的访问修饰符。

如果你没有为你的类指定任何访问修饰符,这意味着...。default 修饰符,那么你的类只能在同一个包中被访问。

如果你想从其他包中使用你的类,可以尝试在你的类中加入 public 访问修饰符在你的类前。

public class Question {

}
© www.soinside.com 2019 - 2024. All rights reserved.