Программа нахождения среднего возраста для мужчин и женщин в Java
Нужна помощь для новичка в решении программы на Java согласно нижеследующему алгоритму. Необходимо написать программу, которая загружает информацию о количестве людей и рассчитывает средний возраст женщин и мужчин в группе.

Код на который сподобился вот. Но естьпроблемы с выходом из вложенного цикла. Заранее спасибо неравнодушным
public class Main {
public static void main(String[] args) {
do{
Scanner scanner = new Scanner(System.in);// Get user input
System.out.print("Укажите возраст человека");
int age = scanner.nextInt();
System.out.println("Укажите мужчина или женщина: (M/Ж)");
String name = scanner.nextLine();
if (name == "M") {
int A1 = 0;
A1++;
double G1 = age;
G1++;
int M1;
M1 = (int) (G1/A1);
} else if (name == "Ж") {
int A2 = 0;
A2++;
double G2 = age;
G2++;
int M2;
M2 = (int) (G2/A2);
}
System.out.println("Хотите добавить еще людей : (Y/N) ");
String new = scanner.nextLine();
} while (new == "Y") {
return;
} do {
System.out.println(A1 + M1);
System.out.println(A2 + M2);
}
}
}
Ответы (2 шт):
Подправил ваш код что бы он хоть как то компилировался, но у вас проблемы с алгоритмом. Абсолютно не корректная конструкция цикла (почитайте про циклы):
do {
...
} while (new == "Y") {
...
} do {
...
}
Строки и другие объекты (не примитивы) не могут сравниваться через == только через obj.equals(obj) почитайте про примитивы и классы обертки а также про equals
В строках
System.out.println(A1 + M1);
System.out.println(A2 + M2);
Переменные A1, A2, M1, M2 не видны программе из за того где вы их объявили, почитайте про область видимости переменных.
И совет на будующее давайте переменным осмысленные названия, по названию переменной A1 не понятно какая ее роль в коде
Код только компилируется, алгоритм не рабочий
public class Main {
public static void main(String[] args) {
int A1 = 0, A2 = 0, M1 = 0, M2 = 0;
Scanner scanner = new Scanner(System.in);// Get user input
do {
System.out.print("Укажите возраст человека");
int age = scanner.nextInt();
System.out.println("Укажите мужчина или женщина: (M/Ж)");
String sex = scanner.nextLine();
if ("M".equals(sex)) {
A1++;
double G1 = age;
G1++;
M1 = (int) (G1/A1);
} else if ("Ж".equals(sex)) {
A2++;
double G2 = age;
G2++;
M2 = (int) (G2/A2);
}
System.out.println("Хотите добавить еще людей : (Y/N) ");
} while ("Y".equals(scanner.nextLine()));
System.out.println(A1 + M1);
System.out.println(A2 + M2);
}
}
import java.util.Scanner;
// создание класса Mass2
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);// Get user input
String newPeople;
int A1 = 0;
double G1 = 0;
int A2 = 0;
double G2 = 0;
do {
System.out.println("Укажите возраст человека");
int age = scanner.nextInt();
System.out.println("Укажите мужчина или женщина: (M/W)");
String name = scanner.next();
if (name.equals("M")) {
A1++;
G1 += age;
} else if (name.equals("W")) {
A2++;
G2 += age;
}
System.out.println("Хотите добавить еще людей : (Y/N) ");
newPeople = scanner.next();
} while (newPeople.equals("Y"));
System.out.println("A1 = " + A1 + " M1 = " + G1 / A1);
System.out.println("A2 = " + A2 + " M2 = " + G2 / A2);
}
}