- •Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке 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.*;
Import javax.Swing.*;
Import java.Util.*;
public class JavaApplication6_1 // задание главного класса
{
// описание главного метода main этого класса
public static void main(String[] args)
{
//описание переменных:
Int n, vectorMin, vectorMax, temp;
int i1, i2, i3, m, per;
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();
// сортировка вектора методом Шелла
i1=n-1;
while (i1>=1)
{
i1 /= 2;
i2=n-i1-1;
do
{
per=1;
for (int i=0; i<=i2; i++)
{
i3=i+i1;
if (vector[i] > vector[i3])
{
temp=vector[i];
vector[i]=vector[i3];
vector[i3]=temp;
per=0;
} // if (vector[i] > vector[i3])
} // for (i=0; i<=i2; i++)
}while (per==0); // do
} // while (i1>=1)
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
Исходный вектор:
1 -1 2 8 6 0 -9 9 -5 4
Отсортированный вектор:
-9 -5 -1 0 1 2 4 6 8 9
