Java从一个类到另一个类访问信息

标签 java class oop static

我正在做作业,目前正在尝试将 note 和 compt 放入 noter() 到 moyenne() 中,这样我就可以计算出 20 个表格中输入的笔记的平均值。

对于那些想要检查的人来说,Google 云端硬盘链接:(法语版 pdf):All the informations here

这里是每个成绩的 noter()

public static int noter() {
        int compt = 0;
        int note = 0;

        Scanner sc = new Scanner(System.in);

        do {
            System.out.println("Veuillez entrer la note de l'etudiant: ");
            note = sc.nextInt();
            compt++;
        } while (note != -1);

        System.out.println(compt);

        return compt;
    }`

这里是 moyenne() 计算所有学生成绩的平均值

    public static int moyenne() {
int etudiant[i].moyenne = 0;  

    etudiant[i].moyenne = etudiant[i].noter.note/ etudiant[i].noter.compt;
    return etudiant[i].moyenne;
}

还有完整的代码,以便您看到我正在讨论的内容的表格:

import java.util.Scanner;  // Utiliser mode console

public class GestEtudiant {

    private static String code;
    static Etudiant[] etudiant = new Etudiant[20]; // Attributs statiques
    static int nbreEtudiants; // comment mettre pour ne depasse pas 20

        // Méthodes statiques
    public static  int  ajoutEtudiant() {
        String nomTemp, prenomTemp;
        int anneeNaisTemp;

        Scanner sc = new Scanner(System.in);
        //Etudiant monEtudiant = new Etudiant();

        for (int i = 0; i < etudiant.length; i++) {
            System.out.println("Entrer les informations suivantes:\n1-Nom:\n2-Prenom:\n3-Annee de naissance:");

            nomTemp = sc.next();
            prenomTemp = sc.next();
            anneeNaisTemp = sc.nextInt();

            etudiant[i] = new Etudiant(nomTemp, prenomTemp, anneeNaisTemp);
            System.out.println(etudiant[i].code);

            if (i > 20) {
                System.out.println("Une erreur c'est produite, la limite d'etudiants a ete depassee, l'ajout n'a pas eu lieu ");
            }
        }

        return 0;
    }

    public static int noter() {
        int compt = 0;
        int note = 0;

        Scanner sc = new Scanner(System.in);

        do {
            System.out.println("Veuillez entrer la note de l'etudiant: ");
            note = sc.nextInt();
            compt++;
        } while (note != -1);

        System.out.println(compt);

        return compt;
    }

    public static int moyenne() {
    int etudiant[i].moyenne = 0;  

        etudiant[i].moyenne = etudiant[i].noter.note/ etudiant[i].noter.compt;
        return etudiant[i].moyenne;
    }

    public static double meilleur() {
        // A compléter ..
        return 0;
    }

    public static double tauxEchec() {
        // A compléter ..
        return 0;
    }

        // Méthode principale
    public static void main(String args []) {
        Scanner sc = new Scanner(System.in);
        int option;

            //Menu répétitif
        do {
            System.out.println("Quelle opération voulez-vous effectuer?\n(1) Inscrire un étudiant.\n(2) Entrer les notes des étudiants.\n(3) Afficher les étudiants.\n(4) Afficher les statistiques.\n(5) Quitter l'application.\n\n");
            option = sc.nextInt();

            switch(option) {

                case 1: { //Inscrire
                        // A compléter ..
                    break;
                }

                case 2: { //Noter
                    // A compléter ..
                    break;
                }

                case 3: { //Afficher
                    // A compléter ..
                    break;
                }

                case 4: { //Statistiques
                    // A compléter ..
                    break;
                }

                case 5: { //Quitter
                    // A compléter ..
                    break;
                }

                default: {
                    System.out.println("Choix Invalide - doit être compris entre 1 et 5");
                }
            } // fin du switch
        } while (option != 5); // fin de la boucle
    } //fin main
} //fin classe

最佳答案

Alors,你可以这样做: 在方法 note() 中直接分配平均值(moyenne),如下所示:

    do {
        System.out.println("Veuillez entrer la note de l'etudiant: ");
        note += sc.nextInt(); // note here you have to add all values
        compt++;
    } while (note != -1);
    System.out.println(compt);
    etudiant[i].moyenne = note / compt;

关于Java从一个类到另一个类访问信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42559553/

相关文章:

java - Lotus Domino Server 不返回任何 Java View (getViews 为空)

java - Jackson ObjectMapper hibernate 问题

java - 在类里面存储日期

swift - 给定一个 Swift 对象的实例,我们可以测试它的类是否存在类函数吗?

delphi - 如何声明数组属性?

java - 请帮助解决从 ant/jar 构建迁移旧项目时出现的 Maven 困惑问题

html - 将表格样式应用于除第一列以外的所有列

java - 如果 Boolean 为 True,如何返回字符串

java - 如何创建类的单个实例并多次使用它?

java - XML 或 XUL 是 Java GUI 构建的 future 吗?