У меня есть этот простой проект из-за завтра, и я почти готов, но дело в том, что одно из требований в классе - это иметь массив, сканер (который у меня есть) и наследование.
Это то, что у меня есть до сих пор:
import java.util.*;
import java.io.*;
public class TestScores
{
public static void main(String[] args)
{
System.out.println("Enter scores from a range of 0 to 100.");
System.out.println("");
Scanner kbReader = new Scanner(System.in);
int testscore = kbReader.nextInt();
char grade;
if (testscore >= 90) {
grade = 'A';
} else if (testscore >= 80) {
grade = 'B';
} else if (testscore >= 70) {
grade = 'C';
} else if (testscore >= 60) {
grade = 'D';
} else {
grade = 'F';
}
System.out.println("Grade = " + grade);
}
}
Я не знаю, как включить массив и наследование.
Каким будет подкласс?
Ну, вы можете создать объект класса, чтобы сказать, что теперь у вас может быть массив объектов класса, определенный как:
Grade[10] grades = new Grade[10];
// Объекты 10 класса могут быть сохранены
Тогда, полагаю, на основе вашего кода у вас могут быть подклассы класса, такие как AGrade, BGrade и т.д., И содержать их в дополнительной информации.
Class Grade {
int mark;
public Grade(int mark){
this.mark = mark;
}
}
Class AGrade extends Grade {
String message = "wooo i got an A";
public AGrade(){
//access mark or message or what ever you want to add here
}
}
Я оставлю всю реализацию до вас, но вам нужно будет использовать супер-доступ, если вы хотите получить доступ к знаку в AGrade. Неясно, сколько наследования вы сделали, но если вы пришли из c++, Java не поддерживает множественное наследование.
Возможно, я ошибаюсь в том, что сказал ive, но трудно точно сказать, что вы ищете на основе вышеизложенного, я не вижу реальной потребности в подклассах здесь, если вы используете только знак и распечатываете символ.
Пример, который я даю, использует сообщение в каждом классе, поэтому вы можете четко показать разницу между подклассами.