Программа нахождения среднего возраста для мужчин и женщин в 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 шт):

Автор решения: JVic

Подправил ваш код что бы он хоть как то компилировался, но у вас проблемы с алгоритмом. Абсолютно не корректная конструкция цикла (почитайте про циклы):

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);
    }
}
→ Ссылка
Автор решения: AlekseiGaile
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);


    }
}
→ Ссылка