Спросите текущий студент CGPA и целевой CGPA, а затем рассчитать минимальную оценку для достижения целевой CGPA - PullRequest
0 голосов
/ 19 ноября 2018

cre - это накопленные кредиты, умножьте на 12, потому что текущие кредитные часы равны 12.

req - это мое уравнение минимальных кредитов для достижения цели CGPA.

cre = data[0][0]*12;
req = (26*data[0][1])-cre;

В следующем семестре берут 4 предмета, и час кредитов для каждого предмета составляет 4,4,3,3. Итого вверх = 14. Итак, я выясняю, что я пытаюсь сделать, это создать цикл и увеличивать x на 0,01 до тех пор, пока общее количество кредитов не будет соответствовать требованию:

if(((56+cre)/26)>data[0][1]) {
        do {

             double x = i/100;

             sub1 = 4*x;
             sub2 = 4*x;
             sub3 = 3*x;
             sub4 = 3*x;

            total = sub1 + sub2 + sub3 + sub4;

                i++;



        } while (total<req);

        System.out.println(sub1/4.0);
        System.out.println(sub2/4.0);
        System.out.println(sub3/3.0);
        System.out.println(sub4/3.0);
        }

Наконец, я пытаюсь разделить все подводные лодки на 4 и 3, чтобы найти минимальное значение gpa, необходимое для каждого субъекта, чтобы поразить цель CGPA.

1 Ответ

0 голосов
/ 19 ноября 2018

Без дополнительной информации мы можем только догадываться. Скорее всего, это проблема:

double x = i/100;

Если i является целым числом, то это будет равно нулю для каждого i меньше 100. Возможно, вы захотите деление с плавающей запятой.

double x = i/100.0;

Вы можете найти более простое решение с небольшой математикой. Во-первых, уравнение для расчета ГПД составляет

sum(grade_points_for_all_classes) / total_hours = GPA

"Оценка за класс" для любого класса

grade * credit_hours

Теперь мы хотим вычислить минимальную оценку (min_grade) для всех новых классов, чтобы достичь нового desired_gpa. Уравнение будет

(sum(grade_points_for_prev_classes) + (min_grade * sum(new_class_hours)) / total_hours = desired_gpa

Где total_hours - общее количество кредитных часов (новые и старые классы). Решая для min_grade получаем:

min_grade = (desired_gpa * total_hours - sum(grade_points_for_prev_classes)) / sum(new_class_hours)
* +1025 * Пример:
public static void main (String[] args) throws java.lang.Exception
{
    double goalGPA = 3.25;

    // Create an array of previous courses
    double [][] prevCourses = {
        {4, 4.0},
        {4, 3.0},
        {3, 2.0},
        {2, 1.0}
    };

    // Calc grade points for prev courses
    // and also total credit hours for prev courses
    double gradePointsPrevCourses = 0;
    int totalCreditHours = 0;
    for (double [] c : prevCourses) {
        gradePointsPrevCourses += c[0] * c[1];
        totalCreditHours += c[0];
    }

    // Create an array of the new courses
    // Not concerned with grades yet so fill with zero
    double [][] newCourses = {
        {4, 0.0},
        {4, 0.0},
        {3, 0.0},
        {3, 0.0}
    };

    // Calc new credit hours
    // and add to prev credit hours
    int newCreditHours = 0;
    for (double [] c : newCourses) {
        newCreditHours += c[0];
    }
    totalCreditHours += newCreditHours;

    // Solve
    double minGrade = (goalGPA * totalCreditHours - gradePointsPrevCourses) / newCreditHours;
    if (minGrade <= 4.0) {
        System.out.println(String.format("You will need a %.2f in all classes to get a %.2f GPA", minGrade, goalGPA));
    }
    else {
        System.out.println(String.format("Sorry, a %.2f is unobtainable.", goalGPA));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...