Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_java_2_semtcnh.doc
Скачиваний:
2
Добавлен:
22.09.2019
Размер:
425.98 Кб
Скачать

Чтение из стандартного ввода

Стандартная модель ввода/вывода в Java имеетстатические поля класса System: System.in, System.out, System.err.

System.out представляет собой объект PrintStream.

System.err аналогичен Systen.out – этот поток предназначен для вывода некоторых типов ошибок.

System.in является производной InputStream. Можно использовать System.out и System.err как они есть, System.in должен как правило куда-то включаться(быть обернут), прежде чем прочесть из него.

Запрос ввода с клавиатуры осуществляется вызовом метода read(byte b[]) класса System.in. Набор символов, введенных пользователем, преобразуется в массив байт и передается в параметр byte b[]. Метод System.in.read(byte b[]) выбрасывает исключение java.io.IOException. На основе полученного массива можно сформировать строку (String) путем указания массива байт в конструкторе строки.

Наиболее удобно описать новый класс, содержащий два метода:

static String вводСтрокиСКлавиатуры() – запрашивает ввод, преобразует введенные данные в строку и возвращает полученное строковое значение.

static int вводЧислаСКлавиатуры() – запрашивает ввод, преобразует введенные данные в строку, затем строку в целое число (можно использовать метод int Integer.parseInt(String s)) и возвращает полученное целочисленное значение.

При попытке преобразовать нечисловые символы в число, метод int Integer. parseInt(String s) выбрасывает java.lang.NumberFormatException. Требуется обработать данное исключение.

Пример

class Vvod{

public static String vvodStroki()throws IOException{

byte[] b=new byte[100];

System.in.read(b);

String s=new String(b);

s=s.trim();

return s;}

public static int vvodChisla()throws IOException,NumberFormatExceptio{

byte b[]=new byte[100];

System.in.read(b);

String s=new String(b);

s=s.trim();

int m=0;

m=Integer.parseInt(s);

return m;}}

Класс Scanner, конструкторы, основные методы

Конструктор Scanner (InputSream in)

Методы создает объект Scanner на базе заданного входного потока

--String nextLine()-читает очередную строку

--String next()-читает очередное слово(разделителями между словами считаются пробелы)

--int nextInt(), double nextDouble()- читают очередную последовательность символов, представляющую целое число или число с плавающей точкой и выполняет соответствующее преобразование

--boolean hasNext()-проверяет, существует ли во входном потоке еще одно слово

--boolean hasNextInt(), boolean hasNextDouble()- проверяет, существует ли во входном потоке последовательность символов, целое число или число с плавающей точкой.

Пример

import java.util.*;

public class inputText{

public static void main(String[] args){

Scanner in=new Scanner(System.in);

//получение первой строки входных данных

String name=in.nextLine();

//прлучение целочисленного значения

System.out.print(“Сколько вам лет”);

int age=in.nextInt();

//отображение информации в консольном окне

System.out.println(name+”, ”+”в следущем году вам будет уже”+(age+1)+”лет”);}}

Класс jFrame, конструкторы, основные методы

Любой компонент, требующий показа на экране, должен быть добавлен в класс-контейнер. Контейнеры служат хранилищем для визуальных компонентов интерфейса и других контейнеров.

Простейший пример контейнера - класс Frame (форма), объекты которого отображаются на экране как стандартные окна с рамкой.

Форма представляет собой основу оконного графического интерфейса – это прямоугольное окно, которое пользователь может перемещать, растягивать, сворачивать/разворачивать и т.д. Форма содержит внутри себя различные элементы управления – панели, кнопки, текстовые поля, списки, таблицы т.д.. В Java форма представлена классом JFrame пакета javax.swing.

Для того чтобы скрыть (инкапсулировать) описание внутреннего содержимого формы, обычно для каждой формы создается новый класс – наследник JFrame. Элементы управления, содержащиеся на форме, объявляются в виде private-свойств класса формы, значения свойств формы и элементов управления задаются в конструкторе формы. В момент создания и отображения формы (например в main()), требуется лишь создать экземпляр класса формы и отобразить его на экране.

JFrame – базовый класс для построения окон

Методы:

-- void setTitle(String s) – установить заголовок формы

--Container getContentPane()-получить ссылку на панель содержимого

--void setBackgroundColor(Color c)-цвет панели

--void setForegroundColor(Color c)- цвет содержимого панели

--void setSize(int width, int height)- установить размер формы

--void setVisible(boolean b)- отобразить/скрыть форму

--void show() - sets visible and brings to front(если имеется несколько окон)

--setDefaultCloseOperation() (HIDE_ON_CLOSE, DISPOSE_ON_CLOSE, EXIT_ON_CLOSE, DO_NOTHING_ON_CLOSE )

-- void pack() – автом. устанавливает размер окна.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]