Java – язык программирования XXI века




и курсор снова перейдет на новую строку. Как видно, ESC -последовательности включаются в строку, но сами на экран не выводятся.

Спецификации преобразований задают вид выводимых данных. Они состоят из символа % и спецификаторов:

d - для данных целого типа в десятичной системе счисления,

x - для данных целого типа в шестнадцатеричной системе счисления,

f - для данных действительного типа в форме с фиксированной запятой,

e - для данных действительного типа в форме с плавающей запятой,

g - наиболее короткое представление из f и e,

с - для данных символьного типа,

s - для строк,

b - для логических значений,

t - для даты и времени.

Очередная спецификация в формате относится к очередному аргументу в списке вывода. Спецификации могут быть разделены пробелами, запятыми или идти подряд:

char b=’A’;

int i=-123;

double x=123.456;

String str=”Студент Пупкин”;

System.out.printf(“\nb=%c”, b);

System.out.printf(“\n%f, %e, %g”, x, x, x);

System.out.printf(“\n%s”, str);

System.out.printf(“\n%d %f %c”, i, x, b);

В окне вывода появится:

b=A

123,456000, 1,234560e+02, 123,456

Студент П0пкин

-123 123,456000 A

 

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

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

System.out.printf(“\n%20c”, b);

System.out.printf(“\n%20s”, str);

System.out.printf(“\n%20d”, i);

В окне вывода появится:

A

Студент Пупкин

-123

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

System.out.printf(“\n%7.2f”, x);

System.out.printf(“\n%.1f”, x);

System.out.printf(“\n%.4e”, x);

System.out.printf(“\n%15.3f”, x);

В окне вывода появится:

123,46

123,5

1,2346e+02

123,456

При выводе строк можно указывать как общую длину поля вывода, так и количество выводимых символов строки:

System.out.printf(“\n%10.3s”, str);

В окне вывода появится:

Сту

Для удобства вывода в строковую константу метода System.out.printf() можно включать как текст, так и спецификации:

int age=17, rost=178;

double weight=67.5;

String name="Петр";

System.out.printf("\nМеня зовут %s, мне %d лет", name, age);

System.out.printf("\nМой рост %d см, мой вес %f кг\n", rost, weight);

В окне вывода появится:

 

Меня зовут Петр, мне 17 лет

Мой рост 178 см, мой вес 67,500000 кг

 

С помощью метода System.out.printf() удобно выводить текущую дату и время. При этом используются следующие спецификации преобразования:

tc - полная дата и время,

tF - дата в формате год-месяц-число,

tY - год четырьмя цифрами,

ty - год двумя последними цифрами,

tB - месяц словами,

tm - месяц двумя цифрами,

te - число месяца,

tA -день недели словами,

tT - время в формате часы:минуты:секунды,

tR - время в формате часы:минуты.

 

Date nom=new Date(); // создание объекта класса Date()

System.out.printf("Дата - %tс\n", nom);

System.out.printf("Год - %tY\n", nom);

System.out.printf("Месяц - %tB\n", nom);

System.out.printf("Число - %te\n", nom);

System.out.printf("День недели - %tA\n", nom);

System.out.printf("Время - %tT\n", nom);

В окне вывода появится:

 

Дата - Пн июл 02 14:32:52 IRKST 2012

Год - 2012

Месяц - Июль

Число - 2

День недели - понедельник

Время - 14:32:52

Консольный ввод с помощью класса Scanner

Консольный ввод данных в языке Java достаточно просто реализован с помощью класса Scanner. Для работы с этим классом необходимо включить в заголовок файла программы инструкцию import.java.util.*, то есть подключить пакет java.util.

Общая схема реализации процесса ввода данных с консоли посредством класса Scanner такова: на основе стандартного потока ввода System.in создается объект класса Scanner, через который и осуществляется консольный ввод. При этом используются следующие методы этого класса:

nextLine() считывание текстовой строки,

nextInt() считывание целого числа типа int,

nextDouble() считывание действительного числа типа double,

nextBoolean() считывание логического значения,

nextLong() считывание целого числа типа long,

nextShort() считывание целого числа типа short,

nextByte() считывание целого числа типа byte,

nextFloat() считывание действительного числа типа float,

next() считывание одного слова.

Пример:

package javaapplicationscanner;

import java.util.*; //импорт пакета



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-03-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: