- •Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке java
- •Иркутск
- •Содержание
- •Предисловие
- •Алфавит языка
- •Ключевые слова
- •Типы данных
- •Литералы (константы)
- •Комментарии
- •Переменные
- •Математические функции
- •Выражения
- •Выражения целого типа
- •Примеры записи выражений целого типа:
- •Примеры вычислений выражений целого типа:
- •Выражения действительного типа
- •Примеры записи выражений действительного типа
- •Примеры вычислений выражений действительного типа:
- •Выражения логического типа
- •Операторы присваивания
- •Variable имяПеременной might not have been initialized
- •Примеры записи операторов присваивания:
- •Ввод и вывод данных
- •Ввод и вывод с помощью диалоговых окон
- •Import javax.Swing.*;
- •Консольный вывод
- •Консольный ввод с помощью класса Scanner
- •Import java.Util.*; //импорт пакета
- •Структура программы
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Пример записи алгоритма:
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкции
- •Import javax.Swing.*;
- •Int c, y1, y2, kl, day, month, year;
- •Часто встречающиеся ошибки программирования:
- •Import javax.Swing.*;
- •Переключатель
- •Int month;
- •Часто встречающиеся ошибки программирования:
- •Бесконечные циклы
- •Циклы с предусловием
- •Программа
- •Программа
- •Часто встречающиеся ошибки программирования:
- •Циклы с постусловием
- •Программа
- •Int month;
- •Циклы с параметром
- •Действия цикла:
- •Операторы прерывания break, continue, return, System.Exit
- •Структуры данных
- •Массивы
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Int n, m, matrMin, matrMax;
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Int n, vectorMin, vectorMax, temp;
- •VectorMin, vectorMax, n);
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Int n, vectorMin, vectorMax, temp;
- •VectorMin, vectorMax, n);
- •Методы для работы с массивами
- •Класс String
- •Методы для работы со строками класса String
- •Класс StringBuffer
- •Методы для работы со строками класса StringBuffer
- •Import java.Io.*;
- •Import javax.Swing.*;
- •Import java.Io.*;
- •Import javax.Swing.*;
- •Обработка исключительных ситуаций
- •If (переменная name вышла за диапазон)
- •Import java.Io.*;
- •Import javax.Swing.*;
- •Import java.Io.*;
- •Import javax.Swing.*;
Int n, vectorMin, vectorMax, temp;
String input, text;
// вызов диалогового окна ввода исходных данных
input=JOptionPane.showInputDialog("Нижняя граница диапазона vectorMin:");
// преобразование из строкового значения в целое
vectorMin=Integer.parseInt(input);
input=JOptionPane.showInputDialog("Верхняя граница диапазона vectoMax:");
vectorMax=Integer.parseInt(input);
input=JOptionPane.showInputDialog("Размер вектора n:");
n=Integer.parseInt(input);
// формирование строки вывода
text="Значения входных переменных:\nvectorMin=" + vectorMin +
"\nvectorMax=" + vectorMax + "\nn=" + n;
// вызов диалогового окна эхо-печати
JOptionPane.showMessageDialog(null, text);
//консольный вывод
System.out.printf("vectorMin=%d\nvectorMax=%d\nn=%d\n",
VectorMin, vectorMax, n);
// создание вектора длиной n элементов
int vector[]=new int[n];
//консольный вывод
System.out.println("Исходный вектор:");
/*
создание объекта Rand класса Random - генератора случ. чисел
инициализация генератора случайных чисел,
привязка его к системному времени
*/
Random Rand=new Random();
// создание вектора случайных чисел
for (int i=0; i<n; i++)
{
// получение очередного случайного числа в диапазоне
// от vectorMin до vectorMax
vector[i]=Rand.nextInt(vectorMax-vectorMin+1) + vectorMin;
//консольный вывод элемента вектора
System.out.printf(" %5d", vector[i]);
}
System.out.println();
// сортировка вектора методом "пузырька"
for (int j=n-2; j>=0; j--)
for (int i=0; i<=j; i++)
if (vector[i] > vector[i+1])
{
temp=vector[i];
vector[i]=vector[i+1];
vector[i+1]=temp;
}
System.out.println("Отсортированный вектор:");
//консольный вывод вектора
for (int i=0; i<n; i++)
System.out.printf(" %5d", vector[i]);
System.out.println();
}
}
В окне вывода появится:
vectorMin=-10
vectorMax=10
n=10
Исходный вектор:
10 -7 -1 3 -6 7 7 -1 9 -2
Отсортированный вектор:
-7 -6 -2 -1 -1 3 7 7 9 10
Рассортировать элементы заданного случайным образом целочисленного вектора vector[n]методомШелла(обменная сортировка с убывающим шагом). В этом случае массив делится на группы подваэлемента и производится сортировка в каждой группе: максимальный элемент ставится на второе место. После этого массив делится на группы почетыреэлемента, и они снова сортируются. Количество элементов в сортируемой группе удваивается до тех пор, пока не остается одна группа, включающая все элементы массива, которая и сортируется окончательно:
package javaapplication6_1;
// импорт библиотеки графических компонентов Swing