Размер шрифта
-
+

Java за неделю. Вводный курс - стр. 13

Если переменная доступна только внутри некого метода (функции), то она называется локальной. Если переменная задана на уровне класса, она называется глобальной. Глобальные переменные обычно доступны любому из методов, входящих в класс. При использовании глобальных переменных необходимо соблюдать осторожность. Если внутри одного из методов случайно изменить значение глобальной переменной, другие методы будут получать неправильное значение. Это приведет к появлению трудно локализуемой логической ошибки, на которую не реагирует компилятор.


3.1.4 Ввод и считывание данных

Переменным можно присваивать значения, введенные извне. Давайте немного отвлечемся от абстрактных рассуждений и запустим две простых программы, которые запрашивают данные у пользователя и обрабатывают их. К этому моменту вы должны уметь создавать проекты в среде NetBeans IDE, поэтому я привожу только исходный код примеров.

Программа из листинга 3.1 поддерживает консольный ввод – пользователь читает запросы программы и вводит данные в окне системного монитора среды NetBeans. В программе из листинга 3.2 задействованы модальные окна с привычным графическим оформлением. Вы увидите, насколько просты эти программы. Не волнуйтесь, если что-то непонятно. Пока просто привыкайте к новым терминам. По мере чтения этой книги придет полное понимание.


Листинг 3.1 Чтение консольного ввода, вывод в консоль

import java.util.Scanner;


public class Listing3_1 {


public static void main (String [] args) {

// Создаем объект input класса Scanner

Scanner input = new Scanner(System.in);

// Переменная для хранения имени пользователя

String name;

// Переменная для хранения отчества пользователя

String surName;

// Переменная для хранения даты рождения пользователя

int yearBorn;

// Переменная для хранения текущего года

int yearNow;

// Выводим запрос данных

System.out.print («Ваше имя:»);

// Считываем имя (строка)

name = input.nextLine ();

System.out.print («Ваше отчество:»);

// Считываем отчество (строка)

surName = input.nextLine ();

System.out.print («Какой сейчас год?»);

// Считываем текущий год (целое число)

yearNow = input.nextInt ();

System.out.print («В каком году вы родились?»);

// Считываем год рождения (целое число)

yearBorn = input.nextInt ();

System.out.println («Здравствуйте, "+name+" "+surName+»!»);

System.out.println («Ваш возраст: "+ (yearNow-yearBorn) +».»);


}

}

В первой строке этой программы мы импортируем класс Scanner, который входит в состав системного пакета java. util. Затем мы создаем новый объект класса Scanner и назначаем ему идентификатор (имя) input. После этого приступаем к получению данных от пользователя. Выводим в консоль текстовый запрос и считываем ответ. Обратите внимание, что текстовые ответы мы считываем при помощи метода nextLine (), а целочисленные при помощи метода nextInt (). В противном случае возникнет ошибка несоответствия типа данных. Ведь мы объявили переменные yearNow и yearBorn как целые числа.

Страница 13