-1
私はまだオブジェクト指向プログラミングのnoobですので、Main.javaでこの行を実行する方法を尋ねます:Student.displayInfo(students);
静的修飾子をメソッドと変数、条件文は激しく反応します。それをどうやるか教えてくれますか?Javaで競合するフィールドを持つすべての生徒の情報を表示する方法
Main.java
import java.util.Scanner;
public class Main {
public void main(String[] args) {
Scanner in = new Scanner(System.in);
Student[] students = new Student[3];
for (Student student : students) {
System.out.println("Can you code: (y/n) ");
student.canCode = (in.next().charAt(0) == 'y' || in.next().charAt(0) == 'Y');
}
Student.displayInfo(students);
}
}
Student.java
public class Student {
boolean canCode = false;
public boolean getCodingSkill() {
return canCode;
}
public void displayInfo(Student [] students) {
for (Student student : students) {
if (getCodingSkill())
System.out.println("I can code.");
else System.out.println("I can't code.");
System.out.println("\n====================");
}
}
}
[mcve]を読み、それに応じて質問を強化してください。 「激しく反応する」は、何が起こっているのかを私たちに教えてくれません。 – GhostCat
メソッド 'displayInfo'に' static'を追加するとどうなりますか? – newOne
@newOne条件文のエラーは、非静的変数canCodeを静的コンテキストから初期化できないことを示します。 –