Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 9
1

Массивы: подсчитать количество двоек, троек, четверок и пятерок, полученных за диктант

20.02.2016, 10:53. Показов 2274. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача: в классе 25 учеников писали диктант по русскому языку. Напишите программу, подсчитывающую количество двоек, троек, четверок и пятерок, полученных за диктант.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package inf1; 
public class as { 
public static void main(String[] args){ 
 int i, m2=0, m3=0, m4=0,m5=0; 
 int n=26; 
 int[] mark ; 
 mark =new int[n]; 
 for (i=1;i<n;i++) { 
 mark[i]=(int) (Math.random()*4+2); 
 System.out.println("Ученик №"+i+" получил оценку: "+mark[i]);  
 switch (mark[i]){ 
 case 2: 
  m2=m2+1; 
 case 3: 
  m3=m3+1; 
 case 4: 
  m4=m4+1; 
 case 5: 
  m5=m5+1; 
 } 
 } 
 System.out.println("2="+m2+" 3="+m3+" 4="+m4+" 5="+m5); 
} 
}
Программа не правильно подсчитывает оценки, не знаю где ошибка.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2016, 10:53
Ответы с готовыми решениями:

Подсчитать количество двоек, троек, четверок и пятерок, полученных за диктант
Добрый день, сын запутался в задаче. Ученик 9 &quot;а&quot; класса. Возможно, вы бы могли ему помочь? Если...

Определить количество пятерок, четверок, троек и двоек по каждой дисциплине
Имеется экзаменационная ведомость студенческой группы из 20 человек по 5 дисциплинам. Определить...

В массиве записаны оценки 22 учеников. Определить количество пятерок, четверок, троек и двоек
В массиве записаны оценки по иностранному языку каждого из 22 учеников класса.Определить количество...

В массиве записаны оценки, найти количество пятерок, количество четверок, количество троек и количество двоек
В массиве записаны оценки по иностранному языку каждого из 22 учеников класса. Определить...

3
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
20.02.2016, 11:01 2
Лучший ответ Сообщение было отмечено Mazay33 как решение

Решение

Во-первых, массивы в java начинаются с 0-го элемента, заполняйте их тоже.
Во-вторых, если почитать мануал про switch-case, то можно узнать, что если не поставить break после завершения case, то программа пойдет плюсовать остальные переменные.

Работающий код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Test { 
    public static void main(String[] args){ 
        int m2 = 0, m3 = 0, m4 = 0, m5 = 0; 
        int n = 25; 
        int[] mark = new int[n]; 
        for (int i = 0; i < n; i++) { 
            mark[i]=(int) (Math.random()*4+2); 
            System.out.println("Ученик №"+(i+1)+" получил оценку: "+mark[i]);  
            switch (mark[i]) { 
                case 2: 
                    m2++;
                    break;
                case 3: 
                    m3++;
                    break;
                case 4: 
                    m4++;
                    break;
                case 5: 
                    m5++;
                    break;
            } 
        } 
        System.out.println("2="+m2+" 3="+m3+" 4="+m4+" 5="+m5); 
    } 
}
1
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
20.02.2016, 11:04 3
Лучший ответ Сообщение было отмечено Mazay33 как решение

Решение

Потому что надо использовать break;
Вместо m2=m2+1;
лучше писать m2++;
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class as {
    public static void main(String[] args) {
        int i, m2 = 0, m3 = 0, m4 = 0, m5 = 0;
        int n = 26;
        int[] mark;
        mark = new int[n];
        for (i = 1; i < n; i++) {
            mark[i] = (int) (Math.random() * 4 + 2);
            System.out.println("Ученик №" + i + " получил оценку: " + mark[i]);
            switch (mark[i]) {
                case 2:
                    m2++;
                    break;
                case 3:
                    m3++;
                    break;
                case 4:
                    m4++;
                    break;
                case 5:
                    m5++;
                    break;
            }
        }
        System.out.println("2=" + m2 + " 3=" + m3 + " 4=" + m4 + " 5=" + m5);
    }
}
1
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 9
20.02.2016, 11:05  [ТС] 4
Тооочно, спасибо огромное!)
0
20.02.2016, 11:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2016, 11:05
Помогаю со студенческими работами здесь

Определить количество пятерок, количество четверок, количество троек и количество двоек в массиве оценок
В массиве записаны оценки по иностранному языку каждого из 22 учеников класса.Определить количество...

7. Отчет по аттестации содержит название группы, предмет, общее количество учащихся, количество пятерок, четверок, троек, двоек, проценты успеваемости
program otcht; type otch=record grupp:string; pred:string; kol:integer; pt:integer; ...

В классе N учеников. После контрольной было получено: A - пятерок, B - четверок, C -троек. Найти процент троек, четверок и пятерок
В классе N учеников. После контрольной было получено: A - пятерок, B - четверок, C -троек. Найти...

Найти процент двоек, троек, четверок и пятерок студента
В массиве хранятся оценки студентов по информатике. Найти: • среднюю оценку; • максимальную и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru