0 / 0 / 0
Регистрация: 22.04.2017
Сообщений: 5

Объясните новичку код

22.04.2017, 18:39. Показов 583. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код программы:
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
import java.io.*;
import java.util.Scanner;
 
public class MyArray {
    int[] arr;
    int count;
    int size;
 
    //Конструкторы
    public MyArray()
    {
        count = 0;
        size = 10;
        arr = new int[size];
 
    }
    
    public MyArray(int _size)
    {
        count = 0;
        size = _size;
        arr = new int[size];
    }
    
    public MyArray(MyArray _array)
    {
        count = _array.count;
        size = _array.size;
        arr = _array.arr.clone();
    }
 
    //Расположение элементов массива в обратном порядке
    public void reverse()
    {
        int[] m = new int[count];
 
        for(int i = 0; i < count; i++)
        {
            int t = count - 1 - i;
            m[i] = arr[t];
        }
 
        arr = m.clone();
    }
    //Добавление элемента в конец
    private void append(int num)
    {
        if(count < size)
        {
            arr[count] = num;
            count++;
        }
        else
        {
            int[] temp = arr.clone();
            size += 1;
            arr = new int[size];
            for(int i = 0; i < temp.length; i++)
                arr[i] = temp[i];
 
            arr[count] = num;
            count++;
        }
    }
    //Загрузка массива чисел из файла
    public void loadFromFile(String fileName)
    {
        try
        {
            File file = new File(fileName);
 
            if(!file.exists())
                file.createNewFile();
 
            Scanner scanner = new Scanner(file);
 
            if(count > 0)
            {
                for(int i = 0; i < count; i++)
                    arr[i] = 0;
                count = 0;
            }
 
            while(scanner.hasNext())
            {
                int num = scanner.nextInt();
                append(num);
            }
        }
        catch (IOException ex) { }
    }
    //Сохранение массива чисел в файл
    public void saveToFile(String fileName)
    {
        try
        {
            File file = new File(fileName);
 
            if(!file.exists())
                file.createNewFile();
 
            PrintWriter writer = new PrintWriter(file);
 
            for(int i = 0; i < count; i++)
            {
                writer.write(String.valueOf(arr[i]));
                writer.append(" ");
            }
 
            writer.flush();
        }
        catch (IOException ex) { }
    }
    
    //Заполнение массива случайными числами
    public void random(int max)
    {
        for(int i = 0; i < arr.length; i++)
        {
            append((int)(Math.random()*max));
        }
    }
 
    //Пузырьковая сортировка
    public void bubble()
    {
        for (int i = 0; i < arr.length; i++)
        {
            for (int j = 0; j < arr.length - i - 1; j++)
            {
                if (arr[j] > arr[1+j])
                {
                    int z = arr[j];
                    arr[j] = arr[1+j];
                    arr[1+j] = z;
                }
            }
        }
    }
    //Шейкерная сортировка
    public void sheiker()
    {
        int b = 0;
        int left = 0;//Левая граница
        int right = arr.length - 1;//Правая граница
        while(left<=right)
        {
            for (int i = left; i < right; i++)//Слева направо...
            {
                if (arr[i] > arr[i + 1])
                {
                    b = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = b;
                    b= i;
 
                }
            }
            right = b;//Сохраним последнюю перестановку как границу
            
            if (left >= right) break;//Если границы сошлись выходим
            
            
            for (int i = right; i > left; i--)//Справа налево...
            {
                if (arr[i-1] > arr[i])
                {
                    b = arr[i];
                    arr[i] = arr[i-1];
                    arr[i -1] = b;
                    b = i;
 
                }
            }
            left = b;//Сохраним последнюю перестановку как границу
        }
    }
}
Ответить на следующие вопросы и показать в программе все перечисленное в п.п 1-6

1. Что такое класс?
2. Как описывается класс в Java?
3. Как создается объект класса?
4. Как у созданного объекта вызвать метод?
5. Что такое конструктор?
6. Как вызывается конструктор?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.04.2017, 18:39
Ответы с готовыми решениями:

Модульность в java, объясните пожалуйста новичку
Я уже знаком с синтаксисом в java, с устройством классов, объектов, наследованием, но не знаком ещё ни с одной библиотекой. Я где то читал...

Поясните код новичку
static { //@@begin id String id = &quot;$Id$&quot;; //@@end ...

Объясните как работает код новичку
Привет. Объясните как работает код программы, и как работает unit-тест. Что откуда берется или вызывается. Код программы: ...

6
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
22.04.2017, 22:00
Это что сейчас нужно 3 главы книги вам отцитировать???
0
 Аватар для Gr1f0nn
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
22.04.2017, 22:41
Цитата Сообщение от FuryGFX Посмотреть сообщение
показать в программе все перечисленное в п.п 1-6
Цитата Сообщение от FuryGFX Посмотреть сообщение
Что такое класс?
Java
1
public class MyArray
Цитата Сообщение от FuryGFX Посмотреть сообщение
Как описывается класс в Java?
Java
1
2
3
4
public class MyArray {
    fields ...
    methods ...
}
Цитата Сообщение от FuryGFX Посмотреть сообщение
Как создается объект класса?
Java
1
File file = new File(fileName);
Цитата Сообщение от FuryGFX Посмотреть сообщение
Как у созданного объекта вызвать метод?
Java
1
file.exists()
Цитата Сообщение от FuryGFX Посмотреть сообщение
Что такое конструктор?
Java
1
2
3
4
5
6
7
  public MyArray()
    {
        count = 0;
        size = 10;
        arr = new int[size];
 
    }
Цитата Сообщение от FuryGFX Посмотреть сообщение
Как вызывается конструктор?
Java
1
new Scanner(file);


Вообще, откройте любую книгу и, как уже отметил Borsche, буквально в первых трех главах вы найдете ответы на все свои вопросы.

Если есть конкретные вопросы по коду, то задавайте их.
1
0 / 0 / 0
Регистрация: 22.04.2017
Сообщений: 5
22.04.2017, 23:32  [ТС]
Есть вопросы, а именно, например, для первых двух ответов расписать каждую строчку
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class MyArray {
    int[] arr;
    int count;
    int size;
 
    //Конструкторы
    public MyArray()
    {
        count = 0;
        size = 10;
        arr = new int[size];
 
    }
что значит в данном случае строки в классе, аля int [] arr, count, size
аналогично для конструктора и последующих строк, входящих в поставленные вопросы, т.е. до 6-го пункта
у меня слишком мало времени на это все и хотелось бы, если не сложно, узнать подробные комментарии по тем строкам кода, где были предоставлены ответы на вопросы и при этом, расписать их составляющие, как по примеру ранее\выше
0
62 / 64 / 14
Регистрация: 25.03.2017
Сообщений: 156
23.04.2017, 11:24
FuryGFX, это поля класса MyArray:
Java
1
2
3
int[] arr;
int count;
int size;
первое из них хранит массив чисел, второе и третье хранят целочисленные значения.
это конструктор по умолчанию(без параметров):
Java
1
2
3
4
5
6
7
public MyArray()
    {
        count = 0;
        size = 10;
        arr = new int[size];
 
    }
в нем мы переменным присваиваем какие то значения по умолчанию. в count записывается 0, в size записывается 10 и создается массив длинной size, то есть длинной 10. в массиве int все элементы по умолчанию равны 0
0
0 / 0 / 0
Регистрация: 22.04.2017
Сообщений: 5
23.04.2017, 15:41  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public MyArray(int _size)
    {
        count = 0;
        size = _size;
        arr = new int[size];
    }
    
    public MyArray(MyArray _array)
    {
        count = _array.count;
        size = _array.size;
        arr = _array.arr.clone();
    }
а что например здесь происходит? и что значат переменные public, count, arr, size...

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
public void loadFromFile(String fileName)
    {
        try
        {
            File file = new File(fileName);
 
            if(!file.exists())
                file.createNewFile();
 
            Scanner scanner = new Scanner(file);
 
            if(count > 0)
            {
                for(int i = 0; i < count; i++)
                    arr[i] = 0;
                count = 0;
            }
 
            while(scanner.hasNext())
            {
                int num = scanner.nextInt();
                append(num);
            }
        }
        catch (IOException ex) { }
    }
    //Сохранение массива чисел в файл
    public void saveToFile(String fileName)
    {
        try
        {
            File file = new File(fileName);
 
            if(!file.exists())
                file.createNewFile();
 
            PrintWriter writer = new PrintWriter(file);
 
            for(int i = 0; i < count; i++)
            {
                writer.write(String.valueOf(arr[i]));
                writer.append(" ");
            }
 
            writer.flush();
        }
        catch (IOException ex) { }
    }
здесь?
и собственно как работает пузырьковая сортировка в данном коде?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 //Пузырьковая сортировка
    public void bubble()
    {
        for (int i = 0; i < arr.length; i++)
        {
            for (int j = 0; j < arr.length - i - 1; j++)
            {
                if (arr[j] > arr[1+j])
                {
                    int z = arr[j];
                    arr[j] = arr[1+j];
                    arr[1+j] = z;
                }
            }
        }
    }
0
0 / 0 / 0
Регистрация: 22.04.2017
Сообщений: 5
25.04.2017, 00:56  [ТС]
Нужен ответ на сообщения выше)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2017, 00:56
Помогаю со студенческими работами здесь

Объясните новичку
Здравстуйте, хочу изучить WScript, не знаю с чего начать, хочу написать программу, которая будет автоматически обновлять конфигурации в 1С...

Объясните новичку
Я новичок в SEO мне нужно рабочие примеры. Скажите пожалуйста с каких азы начинать оптимизировать свой сайт. Теги, загаловки неужели...

объясните новичку
Купил место на хостинге, вроде сделал новую базу данных на MySQL, залил главную страницу index.html, Пытаешся зайти на сайт, пишит error....

Объясните новичку!
Сразу прошу не отсылать к куче мануалов, я их пробовала читать и это мое первое web-приложение. У меня такой вопрос: существует стартовая...

Объясните новичку
Ребят,только только начинаю учить,вот скачала Microsoft visual studio 2010 ,вписала маленькую прогу и вот ошибка. В чём дело? Может нужно...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7 Чтобы решить задачу, использовал интернет: поисковики Google и Yandex, а также подсказки Deep Seek. Как оказалось, чтобы создать. . .
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru