tomatomoa Ответов: 2

JAVA как будто, является ли мой ответ правильным?


Вопрос=

От вас требуется проанализировать работоспособность по принципам компьютерного программирования предмета
содержит 135 студентов. Ваша программа будет запрашивать итоговые оценки каждого студента, накапливать
итого и рассчитайте среднее значение. Отображение средней отметки и полученной оценки
<pre lang="text">
Разработайте псевдокод и напишите полную программу java, чтобы обеспечить
решение.

Таблица 2: Категория оценки на основе среднего балла
Средний диапазон отметок // категория класса
Ниже 50 // Низкий Уровень
От 50 до 79 // хорошо
80 и выше // отлично

Что я уже пробовал:

import java.util.*;
public class Mark {
    public Mark () {
    }
    
    public static void main(String args[]) {
      Scanner input = new Scanner (System.in);
      int avgMark;
      
      System.out.println(" Your Score: ");
      avgMark = input.nextInt();
      
      if(avgMark >= 80)
      {
          System.out.println("Grade: Excellent");
      }
      
      else if (avgMark >= 50 && avgMark <= 79) {
          System.out.println(" Grade: Good ");
      }
      
      else if (avgMark <= 50) {
          System.out.println(" Grade: Low ");
      }
    }
}
<pre lang="java"><pre lang="java">

2 Ответов

Рейтинг:
1

CPallini

Да, ваше предложение if правильно, но содержит избыточные проверки. Igt может быть заменен следующим кодом

if(avgMark >= 80)
     {
         System.out.println("Grade: Excellent");
     }
     else if (avgMark >= 50 )
     {
         System.out.println(" Grade: Good ");
     }
     else
     {
         System.out.println(" Grade: Low ");
     }


tomatomoa

спасибо, но только что мои друзья сказали, что он включает в себя цикл, и мы должны вычислить и отобразить среднюю отметку, но я сейчас путаюсь. у тебя есть какие-нибудь идеи?

Рейтинг:
1

OriginalGriff

В дополнение к тому, что сказал CPallini, я бы немного изменил его, чтобы использовать функцию для возврата оценки, и напечатал это:

public static String getGrade(int score) {
   if(score >= 80) {
      return "Excellent";
   }
   else if (score >= 50 ) {
      return "Good";
   }
   return "Low");
}

А затем используйте это для печати результата:
System.out.println("Grade: " + getGrade(studentScore));
Тогда гораздо проще перейти ко второй части вашего задания и повторить оценку для оставшихся 134 студентов, зная, что "оценочная" часть задания выполнена и работает.


tomatomoa

спасибо, последняя часть полезна, мой друг сказал, что мы должны вычислить и отобразить среднюю отметку, но сейчас я смущен этим. у тебя есть какие-нибудь идеи?

OriginalGriff

Ну, вы знаете, как вычислить среднее значение:

avg = сумма(метки) / количество(метки)

напр.:

avg = (1 + 5 + 7) / 3

Так какая же часть создает вам трудности?
Где ты застрял?
А что вы пробовали?
Какая помощь вам нужна?

tomatomoa

Я не мог догнать его так быстро. Итак, основываясь на моем вопросе Рубика, это так?

avgMark = studentMark / 100

Извините,

OriginalGriff

Нет, подумайте сами: вам нужно сложить все введенные отметки и посчитать их. Затем, когда у вас есть общая сумма всех отметок, вы можете разделить ее на количество.

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

Подумайте об этом - вот как вы это сделаете вручную: вы получите калькулятор и добавите к нему каждое значение по одному, а затем разделите общую сумму.

tomatomoa

я пытался, но ИДК больше, это мой окончательный ответ на вопрос, есть много ошибок, верно ; - ;

импорт java.util.*;
знак общественного класса {
публичный знак () {
}

public static void main(String args[]) {
for(int i = 135; i < n; i++)

Строковый класс;
инт avgMark;
инт finalMark;

Вход сканера = новый сканер (System.in);

avgMark = finalMark / 135

System.out.println(" пожалуйста, введите свою окончательную отметку: ");
finalMark = input.nextInt();


if(avgMark >= 80)
{
System.out.println("класс: отлично");
}

остальное, если (avgMark &ГТ;= 50 &амп;&амп; avgMark &ЛТ;= 79) {
System.out.println(" оценка: хорошая ");
}

else if (avgMark <= 50) {
System.out.println(" класс: низкий ");
}


}
}

OriginalGriff

Значит, вы полностью проигнорировали все, что мы вам говорили до сих пор?

Тогда нет смысла пытаться помочь вам дальше, не так ли?

tomatomoa

Это не то, чтобы я игнорировал, но я просто не знаю, как даже после многочисленных объяснений, я просто не могу этого понять. извините , если я говорю глупо, но tq

OriginalGriff

Если вы не проигнорировали то, что мы сказали, где доказательства этого в вашем кодексе? Потому что последний фрагмент кода, который вы показываете, почти идентичен оригиналу - он не показывает никакого ввода от нас и - честно говоря - никаких реальных признаков мысли в том, что изменилось ... так Какой же смысл тратить наше драгоценное время на то, чтобы печатать, когда вы игнорируете то, что мы вам говорим?

tomatomoa

и снова мне очень жаль

OriginalGriff

- Извини, не режь наживку."

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