Читайте также:
|
|
Тема: «Программирование алгоритмов разветвляющейся структуры».
Разработка программы для работы в режиме диалога.
Целью лабораторной работы является освоение:
· объявления констант целого и строкового типа;
· методов для ввода данных целого и строкового типа с клавиатуры;
· вывода введенных значений;
· разветвления вычислений.
В программе задаются пользователю вопросы, на которые он дает ответы.
Пример: Значения ответов вводятся в переменные:
Name - имя пользователя, строковая переменная;
let - возраст пользователя, переменная типа integer.
Затем введенные значения выводятся на экран. Кроме того, значение переменной 'let' анализируется с помощью оператора IF.
Текст Java – программы
import javax.swing.*;
public class lab2
{
public static void main(String[] args)
{
String name=JOptionPane.showInputDialog("Как вас зовут?");
System.out.println("Здравствуйте "+name+"! Какое прекрасное имя");
System.out.println("А меня зовут компьютер");
String let=JOptionPane.showInputDialog("А сколько вам лет?");
int let1=Integer.parseInt(let);
int god=2010-let1;
if (let1<20)
{
System.out.println("Юный возраст "+let+" лет! Вы родились в "+god+" году.");
}
if (let1>20) if (let1<50)
{
System.out.println("Средний возраст "+let+" лет! Вы родились в "+god+" году.");
}
else
{
System.out.println("Это уже серьёзно. Вам "+let+" лет! Вы родились в "+god+" году.");
}
System.out.println("До свидания, "+name);
}
}
В программе используется набор классов языка Java для создания графических пользовательских интерфейсов (GUI – Graphical User Interface) Swing, представляющий богатый набор визуальных компонентов.
Пример: Числа Фибоначчи – это последовательность чисел, в которой каждое следующее число равно сумме двух предыдущих 1,2,3,5,8,13,…. Разработаем программу, которая вычисляет и отображает 20 первых чисел рядя Фибоначчи.
public class Fibonacci {
public static void main(String[] args) {
int n0 = 1, n1 = 1, n2; // Инициализация переменных
System.out.print(n0 + " " + // Вывод на консоль первого и второго
n1 + " "); // элементов ряда
for(int i = 0; i < 18; i++) { // Цикл для поиска следующих 18 элементов
n2 = n1 + n0; // Следующий элемент – сумма двух предыдущих
System.out.print(n2 + " "); // Вывод
n0 = n1; // Первый элемент становится предыдущим
n1 = n2; // а текущее число - последним
}
System.out.println(); // Завершение строки
}
}
Пример: Демонстрирует вывод в цикле while длину массива переменной args.
public class Echo {
public static void main(String[] args) {
int i = 0; // Инициализация переменной цикла
while(i < args.length) { // Цикл до конца массива
System.out.print(args[i] + " "); // Вывод каждого из аргументов
i++; // Увеличение на 1 переменной цикла
}
System.out.println(); // Переход на следующую строку
}
}
Пример: В программе происходит манипуляция строковыми объектами (String) на основе методов этих объектов, а вложенные циклы осуществляют перебор наоборот.
public class Reverse {
public static void main(String[] args) {
// Цикл проходит массив аргументов от конца к началу
for(int i = args.length-1; i >= 0; i--) {
// Цикл проходит от конца к началу символы в каждом аргументе
for(int j=args[i].length()-1; j>=0; j--) {
// Вывод символа j аргумента i.
System.out.print(args[i].charAt(j));
}
System.out.print(" "); // После каждого аргумента вывод пробела
}
System.out.println(); // Переход на следующую строку
}
}
Пример: В этом примере в интерактивном режиме считывается строка, введенная пользователем, а для хранения строки создается объект StringBuffer. Затем, применяя подстановочный шрифт rot13, который сдвигает каждую букву латинского алфавита на 13 позиций и кодирует каждый символ строки. За счет использования объекта StringBuffer можно поочередно заменять все символы строки. Метод main() вызывает метод rot13() для осуществления непосредственно шифрования символа. Метод демонстрирует применение примитивного типа char и символьных литералов.
import java.io.*; // Импорт классов ввода/вывода
/**
* Программа читает вводимые пользователем строки, кодирует их при
* помощи подстановочного шрифта "Rot13" и выводит закодированную
* строку.
**/
public class Rot13Input {
public static void main(String[] args) throws IOException {
// Подготовка к чтению пользовательских строк
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
for(;;) { // Бесконечный цикл
System.out.print("> "); // Вывод подсказки
String line = in.readLine(); // Чтение строки
if ((line == null) || line.equals("quit")) // Если конец строки или выход
break; // "quit".конец цикла
StringBuffer buf = new StringBuffer(line); // Использование StringBuffer
for(int i = 0; i < buf.length(); i++) // Для каждого символа...
buf.setCharAt(i, rot13(buf.charAt(i)));// прочитать, кодировать, сохранить
System.out.println(buf); // вывод зашифрованной строки
}
}
/**
* Метод подстановочного шифрования Rot13. Он перемещает
* каждый символ на 13 позиций по кругу. Латинский алфавит
* содержит 26 букв, метод кодирует и декодирует.
**/
public static char rot13(char c) {
if ((c >= 'A') && (c <= 'Z')) { // для заглавных букв
c += 13; // сдвиг на 13 позиций
if (c > 'Z') c -= 26; // вычитание 26 при необходимости
}
if ((c >= 'a') && (c <= 'z')) { // то же самое для строчных букв
c += 13;
if (c > 'z') c -= 26;
}
return c; // возвращение зашифрованного символа
}
}
Контрольные вопросы:
1. Что такое Swing?
2. Как организовано ветвление программы?
3. Какие методы использовались в программе?
4. Какие стандартные классы можно еще использовать для реализации программы.
5. В каких разделах объектов описываются переменные программы?
6. Как осуществлялась компиляция текста программы?
7. Назовите атрибуты объектов.
8. Принципы объектно-ориентированного программирования.
Дата добавления: 2015-09-11; просмотров: 89 | Поможем написать вашу работу | Нарушение авторских прав |