-1
votes

Quelque chose s'est mal passé avec un nombre total de boucle

Les programmes ci-dessous sont divisés en deux classes (deux fichiers différents) et ce qu'ils font consiste à numériser l'entrée d'un utilisateur, notamment des noms, des âges, des hauteurs et des poids et calculer chaque entrée d'entrée. Et je voulais montrer le nombre de boucles à la fin de la boucle, qui est indiquée sur la 28e ligne de Jan7, mais le nombre multiplié de l'entrée de l'utilisateur est affiché. Quel est le problème avec le code? Et comment puis-je le réparer? Veuillez conseiller. XXX PRE>


class Jan7Person {
    public static int count = 0;

    public String firstName;
    public String lastName;
    public int age;
    public double height;
    public double weight;

    Jan7Person(String firstName, String lastName, int age, double height, double weight) {
        Jan7Person.count++;

        this.firstName = firstName;
        this.lastName = lastName;
        this.age = age;
        this.height = height;
        this.weight = weight;
    }

    public String fullName() {
        return this.firstName + " " + this.lastName;
    }

    public double bmi() {
        return this.weight / this.height / this.height;
    }

    public void printData() {
        System.out.println("Your name is " + this.fullName() + ".");
        System.out.println("Your age is " + this.age + ".");
        System.out.println("Your BMI is " + Math.round(this.bmi()) + ".");
    }



}


7 commentaires

Pourquoi total + = numéro; ?


Le nombre de boucles est numéro . Qu'est-ce que vous attendiez?


num + num + ... + num (nombre de temps) = num * num


C'est clairement une erreur de typo. Mais pourquoi est-il fait voté?


Bonjour, bienvenue dans le débordement de la pile, avez-vous essayé de mettre un point d'arrêt et de déboguer? Dans un cas idéal avant et après total + = num , ce qui n'est pas correct, il ne résulte pas de total = total + num , mais il vous suffit de faire total = Total +1 , donc total ++


@xxxvodnikxxx merci!


En fait, la boucle fonctionne bien, mais vous ne faites que faire le compte de pas correctement, bienvenue :)


3 Réponses :


1
votes

Le noyau de votre code est le suivant: xxx

qui imprime évidemment le carré de num .

Ce dont vous avez besoin semble déjà fait dans personne.printdata (); .

Si vous souhaitez construire une structure pour imprimer toutes les données de la personne , veuillez utiliser un tableau ou une liste .


0 commentaires

0
votes

Je ne comprends peut-être pas ce que vous voulez vraiment, mais si vous souhaitez que le programme imprime le nombre de tours de la boucle, vous devez remplacer

total = num+1;


0 commentaires

1
votes

Dunno Si j'ai bien compris, mais si vous souhaitez montrer le numéro de boucle actuel, utilisez simplement la i de la boucle, ou i + 1 au cas où vous ne voulez pas avoir de zéro.

total = i;


0 commentaires