Beräkna genomsnittsålder
Frågan: Skriv ett program som läser in uppgifter om ett antal personer, och beräknar genomsnittsåldern för kvinnor respektive män i gruppen.
och det här är vad jag har skrivit:
import java.util.Scanner;
public class Person {
public static void main(String[] args) {
int male = 0;
int female = 0;
int sumAgeMale = 0;
int sumAgeFemale = 0;
Scanner in = new Scanner(System.in);
String input = "";
System.out.println("Press M for male and F for female. Press N if there are no more people ");
input = in.nextLine();
while (input.equals("M") || input.equals("F")) {
if (input.equals("M")) {
System.out.println("Please enter the mans age:");
sumAgeMale += in.nextInt();
male++;
} else if (input.equals("F")) {
System.out.println("Please enter the womans age:");
sumAgeFemale += in.nextInt();
female++;
} else {
System.out.println("The average age of the men is: " + sumAgeMale / male);
System.out.println("The average age of the women is: " + sumAgeFemale / female);
}
}
}
}
problemet är att jag inte får while loopen att fortsätta. finns det någon som vet varför?
Rubrik ändrad från "Hej! Jag har en fråga i min läxa för programmering 1 som jag skulle behöva hjälp med." till nuvarande. En beskrivande rubrik underlättar för de som svarar, och hjälper till att skilja trådar från varandra. Läs gärna mer om rubriksättning här. /Smutstvätt, moderator
Du får se till att 'input' får nya värden inne i loopen, annars är den alltid samma sak i while-testet.
Ok! Ska det få ett tomt värde då? eller hur skulle det funka?
Nej men din fråga om input ligger utanför loopen så du kommer aldrig att fråga om ett nytt värde på input.