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

Ошибка в цикле

21.11.2016, 21:36. Показов 907. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По заданию имеем 4 исходных массива: 2 с именами и 2 с оценками. Нужно составить рейтинг n-лучших и вывести его на экран.
Вроде все написал, но компилятор ругается на строку:
Java
1
cn1[w]=mass2[j];
Ошибка:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException : 15
at dad.<init>(dad.java:92)
at dad.main(dad.java:9)
Полный код программы:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import java.util.*; 
public class dad {  
    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    new dad();}      
    dad(){
    Random r=new Random(); 
    int t,q,w;
    String str=new String("");
    @SuppressWarnings("resource")
    Scanner sc=new Scanner(System.in); 
    String a[]={"Aaa", "Bbb", "Ccc", "Ddd", "Abe", "Ace", "Ade" }; 
    String b[]={"Zaa", "Xbb", "Ccc", "Vdd", "Bbe", "Nce", "Mde","Ouk" };
    String[] cn = new String[15];
    for (int i = 0; i < 15; i++)
        cn[i] = "";
    int cn1[]=new int[15]; 
    int mass1[]=new int[7]; 
    int mass2[]=new int[8]; 
    for(int i=0; i<mass1.length; i++) 
    mass1[i]=r.nextInt(100+1); 
    for(int i=0; i<mass2.length; i++) 
    mass2[i]=r.nextInt(100+1); 
    System.out.println("Первый класс"); 
    for(int i=0; i<a.length; i++) 
    System.out.println(a[i]+" = "+mass1[i]); 
    System.out.println(); 
    System.out.println("Второй класс"); 
    for(int i=0; i<b.length; i++) 
    System.out.println(b[i]+" = "+mass2[i]); 
    for(int e = mass1.length - 1; e >0; e--) {  
        for(int j = 0; j <e; j++) {         
        if (mass1[j+1] > mass1[j]) { 
                 t = mass1[j]; 
                 mass1[j] = mass1[j+1]; 
                 mass1[j+1] = t;
                 str=a[j+1];
                 a[j+1]=a[j];
                 a[j]=str;
        } 
        } 
        } 
    for(int i = mass2.length - 1; i >0; i--) {  
        for(int j = 0; j <i; j++) {          
             if (mass2[j] < mass2[j+1]) { 
                   t = mass2[j]; 
                   mass2[j] = mass2[j+1]; 
                   mass2[j+1] = t;
                   str=b[j];
                   b[j]=b[j+1];
                   b[j+1]=str;
                     }       
           }
        }
    System.out.println("Первый класс"); 
    for(int iq=0; iq<a.length; iq++) 
    System.out.println(a[iq]+" = "+mass1[iq]); 
    System.out.println(); 
    System.out.println("Второй класс"); 
    for(int ii=0; ii<b.length; ii++) 
    System.out.println(b[ii]+" = "+mass2[ii]);
    System.out.println("Рейтинг n человек(кол-во)"); 
    int k=sc.nextInt(); 
    w=0;
    for(int i = 0; i <a.length; i++) {  
        for(int j = 0; j <b.length; j++) {          
        if (mass1[i] < mass2[j])
        {
            q=1;
            }
        else
            if (mass1[i] == mass2[j])
            {
                q=0;
            }
            else
            {
                q=2;
            }
        
            switch (q) { 
                case 1: {                   
                        cn1[w]=mass2[j];
                        cn[w]=b[j];
                        w++;
                        break;}
                case 2:
                        break;
                case 3:{
                        cn1[w]=mass2[j];
                        cn[w]=b[j];
                        w++;
                        cn1[w]=mass1[j];
                        cn[w]=a[j];
                        w++;
                        break;}
                } 
        }
        if (w==k)               
            break;
    }
        System.out.println("Рейтинг"); 
        for(int ii=0; ii<k; ii++) 
        System.out.println(cn[ii]+" = "+cn1[ii]);       
        } 
}
Не могу понять в чем дело( Помогите пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2016, 21:36
Ответы с готовыми решениями:

Ошибка в цикле
Помогите найти баг. Выдает ошибку: File &quot;zadanie1.py&quot;, line 11 else n == 'Да': ^ SyntaxError: invalid syntax Сам...

Ошибка в цикле
for i:=0 to summcell-1 do begin copyTimeBoxMaxY := copyMassivTimeBoxMaxY; while copyTimeBoxMaxY.nalichie = true do repeat ...

Ошибка в цикле
Ребята, подскажите в чем косяк? &lt;?php try{ $dsn = &quot;mysql:host=localhost;dbname=uvpz;charset=utf8&quot;; $opt = array( ...

1
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
21.11.2016, 21:59
Ну проблема видимо в том, что переменная w становится >=15
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2016, 21:59
Помогаю со студенческими работами здесь

Ошибка в цикле
не могу понять почему Maple Ругается на этот цикл, где ошибка? restart; i := 0; s := 0; ...

Ошибка в цикле
Добрый день! Я снова не могу понять своей ошибки. Просто ничего не создаётся. Private Sub Form1_Load(sender As Object, e As EventArgs)...

Ошибка в цикле while
//--------------------------------------------------------------------------- #pragma hdrstop #include &lt;locale&gt; #include &lt;stdio.h&gt; ...

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

Ошибка в цикле
Я уже незнаю что и делать, выдает ошибку ('Error] Unit6.pas(49): For loop control variable must have ordinal type') var Form6:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru