- •Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке 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 java.Io.*;
Import javax.Swing.*;
public class JavaApplicationBuffer
{
public static void main(String[] args) throws IOException
{
try // попытка открытия файла
{
String text; // text - объект класса String
StringBuffer str; // str - объект класса // StringBuffer
String fileInputPath="E:/User/ishod.txt";
// создание байтового потока ввода из исходного файла
FileInputStream fileIn=new FileInputStream(fileInputPath);
// создание буферизированного потока ввода на основе символьного
BufferedReader bufRead=new BufferedReader(new InputStreamReader(fileIn, "windows-1251"));
String fileOutputPath="E:/User/result.txt";
// создание байтового потока вывода в выходной файл
FileOutputStream fileOut=new FileOutputStream(fileOutputPath);
// создание буферизированного потока вывода на основе символьного
BufferedWriter bufWrite=new BufferedWriter(new OutputStreamWriter(fileOut));
do // цикл чтения исходного файла
{
try // попытка чтения очередной строки из файла
{
// читаем очередную строку из исходного файла
text=bufRead.readLine();
// записываем ее в объект класса StringBuffer
str=new StringBuffer(text);
// переворачиваем строку
str.reverse().toString();
// записываем ее снова в переменную text класса String
text=new String(str);
// выводим перевернутую строку на консоль
System.out.println(text);
// и записываем ее в выходной файл
bufWrite.write(text);
// переход на новую строку в выходном файле
bufWrite.newLine();
}
// попытка чтения строки после конца файла
catch(NullPointerException e)
{
JOptionPane.showMessageDialog(null, "Прочитан конец файла");
break;
}
} while(true); // псевдобесконечный цикл чтения // из исходного файла
text="Программа закончила работу успешно!";
JOptionPane.showMessageDialog(null, text);
fileIn.close(); // закрытие исходного файла
fileOut.close(); // закрытие выходного файла
}
// обработка исключительной ситуации
catch(FileNotFoundException e)
{
JOptionPane.showMessageDialog(null, "Проверьте путь к файлу: " + e, "Файл не найден!", JOptionPane.ERROR_MESSAGE);
}
}
}
Результат работы программы в нормальныхусловиях:
Структура выходного файла result.txt:
,литевс иинацрем в ,ворим идерС
,ями юяротвоп я ыдзевз йондО
,либюл ее я ботч ,умотоп еН
.имигурд с ьсюлмот я отч ,умотоп А
йиксненнА йитнеконнИ
Результат работы программы в исключительнойситуации (исходный файл не найден):
В данной программе наряду с объектомtextклассаStringбыл использован объектstrклассаStringBuffer, так как этот класс имеет методreverse() для переворачивания строк.