[JAVA] Obtenir des informations dans une instance et calculer des nombres Version standard

Créez une instance contenant le nom de l'étudiant et le score de 5 matières, produisez et calculez le score total

Le diagramme de structure est le suivant.

スクリーンショット 2017-10-29 0.15.46.png

UserDataBean


package mapScore_plus_rere;

import java.util.List;

public class UserDataBean {

    private String userName;
    private List<ScoreBean> scoresList;

    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }


    public List<ScoreBean> getScoresList() {
        return scoresList;
    }
    public void setScoresList(List<ScoreBean> scoresList) {
        this.scoresList = scoresList;
    }

}

ScoreBean


package mapScore_plus_rere;

public class ScoreBean {

    private String scoreName;
    private int score;

    public String getScoreName() {
        return scoreName;
    }

    public void setScoreName(String scoreName) {
        this.scoreName = scoreName;
    }


    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }
}

Main


package mapScore_plus_rere;

public class Main {

	public static void main(String[] args) {

		ScoreReturn scoreReturn = new ScoreReturn();
		CalculateSum calc = new CalculateSum();

		//Définissez le nom de l'argument (Sato) sur la variable de userDataBean&
		//Définissez le nom du sujet et le score dans la variable scoreBean
		//Définissez la liste de cette instance scoreBean dans la variable List de userDataBean
		UserDataBean udb1 = scoreReturn.returnUDB("Sato");
		UserDataBean udb2 = scoreReturn.returnUDB("Tanaka");

		//Calculer l'instance reçue comme valeur de retour&Passer à la méthode de sortie
		calc.calculate(udb1);
		System.out.println("");
		calc.calculate(udb2);
	}
}

ScoreReturn Étant donné que le même traitement se poursuit pour le nombre de sujets, il est plus propre de le regrouper en tant que méthode. (Le traitement étant le même sauf pour le nom du sujet et le score, il est unifié. Il est plus facile de lire et de répondre aux modifications) Que ce cours soit bon ou mauvais, je pense que cela fait une différence selon la personne qui écrit le plus.


package mapScore_plus_rere;

import java.util.LinkedList;
import java.util.List;
import java.util.Random;

public class ScoreReturn {

	public UserDataBean returnUDB(String userName) {

		UserDataBean userDataBean = new UserDataBean();
		//Tout d'abord, définissez le nom
		userDataBean.setUserName(userName);

		//Génération de liste à utiliser comme argument de définition
		List<ScoreBean> SCList = new LinkedList<ScoreBean>();

		Random random = new Random();

		//langue nationale
		SCList.add(set_and_return_scoreName_and_score("langue nationale", random.nextInt(101)));
		//Math
		SCList.add(set_and_return_scoreName_and_score("Math", random.nextInt(101)));
		//Anglais
		SCList.add(set_and_return_scoreName_and_score("Anglais", random.nextInt(101)));
		//Science
		SCList.add(set_and_return_scoreName_and_score("Science", random.nextInt(101)));
		//société
		SCList.add(set_and_return_scoreName_and_score("société", random.nextInt(101)));

		userDataBean.setScoresList(SCList);
		return userDataBean;
	}

	//Le même processus se poursuit 5 fois, alors mettez-le ensemble dans une méthode
	public ScoreBean set_and_return_scoreName_and_score(String scoreName, int score) {
		ScoreBean scoreBean = new ScoreBean();

		scoreBean.setScoreName(scoreName);
		scoreBean.setScore(score);

		return scoreBean;
	}
}

CalculateSum J'ai de nouveau pensé que pour écrire une instruction for, il était nécessaire d'avoir une bonne compréhension du diagramme structurel.


package mapScore_plus_rere;

public class CalculateSum {

	public void calculate(UserDataBean udb) {
		udb.getUserName();

		int scoreSum = 0;

		for (ScoreBean element : udb.getScoresList()) {
			element.getScoreName();
			int score = element.getScore();
			System.out.println(element.getScoreName() + "Le score de" + score + "est");
			scoreSum += score;
		}
//		System.out.println("mapScore_plus_rere");
		System.out.println(udb.getUserName() + "Le score total de" + scoreSum + "est");
	}
}

Recommended Posts

Obtenir des informations dans une instance et calculer des nombres Version standard
Version simplifiée du calcul des nombres en collectant des informations dans une instance
Obtenez des informations de localisation avec Rails et triez par ordre croissant
Obtenir des informations EXIF en Java
Obtenez des informations d'erreur à l'aide de DefaultErrorAttributes et ErrorAttributeOptions dans Spring Boot 2.3
Calculer des nombres premiers en Java
Obtenir des attributs et des valeurs à partir d'un fichier XML en Java
Informations sur la version openssl dans ruby OPENSSL_VERSION
Obtenez des informations vidéo YouTube avec Retrofit et conservez-les dans l'application Android.