Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
StackFullException (int s) { size = s; }
public String toString() {
return "\nStack is full. Maximum size is " +
size;
}
}
// Исключение, возникающее при обращении к пустому стеку,
class StackEmptyException extends Exception {
public String toString () {
return "\nStack is empty.";
}
}
// Класс, реализующий стек для хранения символов,
class Stack {
private char stck[]; // Массив для хранения элементов стека
private int tos; // Вершина стека
// построить пустой стек заданного размера
Stack(int size) {
stck = new char[size]; // выделить память для стека
tos = 0;
}
// построить один стек из другого стека
Stack(Stack ob) {
tos = ob.tos;
stck = new char[ob.stck.length];
Приложение А. Ответы на вопросы для самопроверки 577
// скопировать элементы
for(int i=0; i < tos; i++)
stck[i] = ob.stck[i];
}
// построить стек с исходными значениями
Stack(char а [ ]) {
stck = new char[a.length];
for(int i = 0; i < a.length; i++) {
try {
push (a [i]);
}
catch(StackFullException exc) {
System.out.println(exc);
}
}
}
// поместить символы в стек
void push(char ch) throws StackFullException {
if(tos==stck.length)
throw new StackFullException(stck.length);
stck[tos] = ch;
tos++;
}
// извлечь символы из стека
char pop() throws StackEmptyException {
if(tos==0)
throw new StackEmptyException();
tos — ;
return stck[tos];
}
}
Какими тремя способами можно сгенерировать исключение?
Исключение может быть сгенерировано в результате ошибки в виртуальной машине
Java, ошибки в программе или явным образом с помощью оператора throw.
Назовите два подкласса, производных непосредственно от класса Throwable.
Классы Error и Exception
Что такое многократный перехват?
Многократным называется такой перехват, который позволяет перехватывать два
и больше исключений одним оператором catch.
Следует ли перехватывать в программе исключения типа Error?
Нет, не следует.
Глава 10. Ввод-вывод данных
Для чего в Java определены как байтовые, так и символьные потоки?
Байтовые потоки с самого начала были определены в Java. Они особенно удобны
для ввода-вывода двоичных данных и поддерживают произвольный доступ к ним в
файлах. А символьные потоки оптимизированы для представления в уникоде.
Как известно, ввод-вывод данных на консоль осуществляется в текстовом виде.
Почему же в Java для этой цели используются байтовые потоки?
Стандартные потоки ввода-вывода System, in, System.out и System.err были
определены в Java прежде символьных потоков.
Как открыть файл для чтения байтов?
Ниже приведен один из способов открытия файла для ввода данных типа byte.
FilelnputStream fin = new FilelnputStream("test");
Как открыть файл для чтения символов?
Ниже приведен один из способов открытия файла для ввода символов.
FileReader fr = new FileReader("test");
Как открыть файл для ввода-вывода с произвольным доступом?
Ниже приведен один из способов открытия файла для ввода-вывода с произвольным доступом.
randfile = new RandomAccessFile("test", "rw");
Как преобразовать числовую строку "123.23" в двоичный эквивалент?
Для того чтобы преобразовать числовую строку в двоичный эквивалент, следует воспользоваться одним из методов синтаксического анализа, определенных в классах
оболочек типов, например Integer или Double.
Напишите программу, которая будет копировать текстовые файлы. Видоизмените ее