Encuentre dos códigos fuente de diseño JAVA sencillos y de alta puntuación.
//Para comparar objetos, debes implementar la interfaz Comparable, que contiene el método compareTo.
//Es mejor usar genéricos, lo que reducirá la velocidad y la cantidad de código.
@SuppressWarnings("unselected")
Los estudiantes de la clase obtienen <students>{
Número de estudiante de cadena privada //número de estudiante
Privado string StudentName//name
Puntuación doble privada en inglés //Puntuación en inglés
Puntuación doble privada en computadora //Puntuación en computadora
Puntuación doble privada en matemáticas//Matemáticas; puntuación
Puntuación total doble privada //Puntuación total
//Constructor vacío
Estudiante público(){ }
// Constructor
público Student(String StudentNo, String StudentName, doble EnglishSocre, doble ComputerScore, doble MathScore) {
this estudiante no = estudiante no;
this. . nombre del estudiante = nombre del estudiante;
this . puntuación en inglés = socre en inglés;
this.computerScore = puntuación de la computadora;
this . ;
}
//Calcular la puntuación total
Suma doble pública() {
esta puntuación total = puntuación en inglés+. puntuación de computadora + puntuación de matemáticas;
Devolver puntuación total
}
//Calcular los resultados de la evaluación
public double testScore() {
return sum()/3;
}
//Implementar el método compareTO
@ Override
comparación internacional pública (estudiante estudiante) {
doble estudiante total = estudiante . gettotalscore();
return totalScore==studentTotal? 0: (puntuación total & gt; número total de estudiantes? 1:-1);
}
//Anular el método toString
Cadena pública toString ( ){
Devuelve "ID de estudiante:"+this.getStudentNo()+"Nombre:"+this.getStudentName()+"Puntuación en inglés:"+this.getEnglishScore()+"Puntuación en matemáticas: " +this.getmathsscore ()+"Puntuaciones de computadora:"+this.getcomputerscore.
}
//Anular el método igual
Igual booleano público (objeto objeto) {
if (obj == null) {
Devuelve falso
}
Si (!(instancia de objeto del estudiante)){
Devuelve falso
}
Estudiante estudiante = (Estudiante) obj
Si (this.
El número de estudiantes es igual a (student.getstudentname()){//En realidad, la comparación entre los mismos estudiantes solo debe basarse en si sus números de estudiantes son iguales.
Devuelve verdadero
} En caso contrario {
Devuelve falso
}
}
/*Los siguientes son los métodos get y set. Personalmente creo que el método totalScore es innecesario porque se calcula en función de otras calificaciones.
En el método set, el método suma se llama una vez sin establecer un valor, es decir, se recalcula la puntuación total
*/
Cadena pública getStudentNo () {
Devolver número de estudiante;
}
public void setStudentNo(String StudentNo){
this estudiante no = estudiante. no;
suma();
}
Cadena pública getStudentName() {
Devolver nombre de estudiante
}
public void setStudentName(String StudentName){
este nombre del estudiante = nombre del estudiante;
suma();
.
public double getEnglishScore() {
Devolver puntuación en inglés;
}
public void setpuntuación en inglés (doble puntuación en inglés){
esta puntuación en inglés = puntuación en inglés
sum();
}
public double getComputerScore(){
Devolver puntuación de computadora
}
puntuación de computadora establecida por anulación pública (puntuación de computadora doble){
this.computerScore =puntuación de computadora;
suma();
}
público doble getMathScore() {
Devolver mathScore
}
public void setMathScore(double mathScore){
esta puntuación de matemáticas = puntuación de matemáticas
suma(); public double getTotalScore() {
Devolver puntuación total
}
}
//Implementación//Clase del comité de aprendizaje de la subclase estudiantil p>
Clase Student XW extiende Student{
//Anula el método testScore() de la clase principal Student.
@override
Publica doble testScore() {
return sum()/3+3;
}
public StudentXW() {}
//Constructor de StudentXW
public Student xw(String Student No, String StudentName, doble EnglishSocre, doble ComputerScore, doble MathScore) {
super(estudianteNo, nombre de estudiante, inglésSocre, puntuación de computadora, puntuación de matemáticas
}
}
//Subclase de estudiante/ / Implementación); de la clase monitor
Clase StudentBZ extiende Student{
//Anula el método testScore() de la clase principal Student.
@override
Publica doble testScore() {
return sum()/3+5;
}
public StudentBZ() {}
//Constructor de StudentXW
public Student BZ(String Student No, String StudentName, doble EnglishSocre, doble ComputerScore, doble MathScore) {
super(estudianteNo, nombre del estudiante, inglésSocre, puntuación de la computadora, puntuación de matemáticas
}
}
//Clase de prueba
p>
Prueba de clase pública {
Public static void main(String[] args) {
//Generar varias clases de estudiantes, clase StudentXW y clase StudentBZ .
Estudiante estudiante 1 = Estudiante de primer año (" s001 ", " Zhang San ", 70.5, 50, 88.5);
Estudiante estudiante2 = Estudiante de primer año ( " s002 ", " Lisi ", 88); , 65, 88.5);
Estudiante estudiante3 = Estudiante de primer año (" s003 ", "王五", 67, 77, 90
Estudiante xw estudiante4 = Estudiante de primer año xw ("s004); ", "Liu Li", 99, 88, 99.5);
Estudiante BZ Estudiante 5 = Estudiante de primer año BZ ("s005 ", "Vermicelli", 56, 65.6, 43.5);
Estudiante[]Estudiante={Estudiante1,Estudiante2,Estudiante3,Estudiante4,Estudiante5};
for(int I = 0;i<Student.length;i++){
doble avgScore = estudiantes [i]. puntuación de la prueba();
System. out.println(Estudiante[I]). getstudentname ()+"La puntuación de la evaluación del estudiante es"+avgScore+"points");
}
}
}
Ejecutar resultados De la siguiente manera:
La puntuación de evaluación de los estudiantes de Zhang San es: 69 puntos. 39960.68868688666
La puntuación de evaluación de su compañero Li Si es: 80,5 puntos.
La puntuación de evaluación de su compañero Wang Wu es: 78,0.
La puntuación de evaluación de Liu Li es: 98,5 puntos.
La puntuación de evaluación de su compañero Zhu Qi es: 60,3003.