Робота зі стрічками в Java

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Комп’ютерні науки
Кафедра:
Не вказано

Інформація про роботу

Рік:
2007
Тип роботи:
Інші
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Кафедра САП Робота зі стрічками в Java. Методичні матеріали до лабораторної роботи № 2 з курсу: “Об’єктно-орієнтоване програмування” для студентів базового напрямку 6.0804 “Комп’ютерні науки” ЗАТВЕРДЖЕНО на засіданні кафедри “Системи автоматизованого проектування” Протокол № від ЛЬВІВ 2007 Робота зі стрічками в Java. Методичні матеріали до лабораторної роботи № 2 з курсу: “Об’єктно-орієнтоване програмування” для студентів базового напрямку 6.0804 “Комп’ютерні науки”. Укладачі: Макар В.М., доцент, к.т.н. Загарюк Р.В., асистент. Відповідальний за випуск: Рецензенти: 1. МЕТА РОБОТИ Отримати навики програмування з використанням стрічок мови Java. 2.ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ 2.1. ТИПИ ДАНИХ І ДЕКЛАРАЦІЯ ЗМІННИХ Мова програмування Java є мовою зі строгою типізацією (strongly typed language). Це означає, що кожна змінна і кожний вираз мають тип, який має бути відомий під час компіляції програми. У Java визначено дві категорії даних: примітивні типи (primitive types); типи посилання (reference types). Існує також спеціальний нульовой тип (null), який не має імені. Примітивні типи діляться на булівський тип (boolean) і числові типи. В свою чергу, числові типи – це цілі типи (byte, short, int, long та char) дробові типи (float та double). Типы посилання – це типи класів, інтерфейсів та масивів. Декларація змінних (за виключенням масивів) в Java має наступний вигляд: і’мя типу ідентифікатор-змінна; наприклад: int x; String str1; int x1, x2, x3; double inputValue; Змінна є вказуванням місця зберігання значення змінної в пам’яті. Змінна примітивного типу завжди містить значення змінної вказаного типу (наприклад, int), а змінна типу посилання містить посилання (адрес) на об’єкт вказаного типу. Створювати змінні можна в будь-якому місці програми. Будь-яка декларація змінної має свою область видимості, межі якої залежать від того, де розміщенно цю декларацію. Коли текст програми знаходиться в парі фігурних лапок { }, то створюється новий блок. Блоки в програмі на мові Java можуть бути вкладеними. Змінна доступна в блоці тільки в тому випадку, якщо вона визначена в цьому блоці, чи в одному із блоків, що містять даний блок і стоять вище. На відміну від мови C, у внутрішньому блоці не можна декларувати змінну з таким ж іменем, як і в зовнішній області видимості. Також крім області видимості, кожна змінна має і час життя. Коли поточний блок, в якому змінна була задекларована, закінчується, то вона стає доступною для знищення за допомогою збірача сміття (garbage collector). Змінити область видимості та час життя змінної жизни можна за допомогою ідентифікаторів доступу. Модифікатори вставляються в декларацію змінної перед іменем-типу. По замовчуванню (без модифікатора) змінна доступна тільки класам в тому ж пакеті, що і клас, в якому вона міститься. Модифікатор public визначає, що змінна доступна як всередині, так і ззовні класу, тобто змінна є глобальною і доступна будь-якому іншому об’єкту. Модифікатор private, навпаки, означає, що змінна доступна тільки в тому класі, в якому вона була декларована. Модифікатор final визначає, що змінна має постійне (незмінне) значення і не може бути перевизначена. int final GREEN_COLOR =2; 2.2. ОПЕРАТОРИ ПЕРЕДАЧІ УПРАВЛІННЯ В Java існують такі види операторів управління програми: - умовний оператор (if-else);; - оператори циклу (for, while, do…while); - оператори переходу (break, continue, return); - оператор вибору (switch). 2.3. РОБОТА ЗІ СТРІЧКАМИ (CLASS STRING) Для зберігання і обробки рядків в Java є два класи: String для незмінних рядків і StringBuffer - для рядків, які можуть змінюватися. Обидва класи розширюють клас Object. Вони знаходяться в пакеті java.lang, тому їх не треба підключати за допомогою оператора import. Рядкові літерали в Java, як і в C, обмежуються подвійними апострофами, наприклад, "abc" задає рядковий літерал abc. Якщо усередині рядкового літерала необхідно задати символ апострофа, він задається за допомогою символів \", наприклад, "it\"s" задає рядковий літерал it"s. Ініціалізація об'єкту класу String може виконуватися як за допомогою оператора присвоєння змінної класу String рядкової змінної або рядкового літерала, наприклад: String str = "Рядок 1"; або при створенні об'єкту за допомогою оператора new з використанням одного з наступних конструкторів класу String: Конструктор Об'єкт, який він створює  String() Порожній рядок.  String (String original) Новий рядок, який є копією рядок original.  String(char[] value) Рядок, створений з елементів масиву value.  String(char[] value, int offset, int length) Рядок, створений з підмасиву символів value, що починається з позиції offset і завдовжки len символів.  String(byte[] bytes) Рядок, що створюється з масиву байт, з використанням кодування на даному комп'ютері за умовчанням Windows-1251) кожного символу.  String(byte[] bytes, int offset, int length)  Рядок, що створюється з частини масиву байт, що починається з індексу offset і містить length байт.   Довжина рядка може бути визначена за допомогою методу public int length(). Єдина операція, яку можна використовувати для рядків, є операція зчеплення (конкатенація) двох або більш рядків - "+". 2.3.1. Порівняння рядків Оскільки в Java рядки є об'єктами, для порівняння рядків можна використовувати оператора "==" і метод public boolean equals(Object anObject) що порівнює рядок, для якого викликається метод, з об'єктом anObject. Результат буде true, тільки якщо anObject є рядком і значення порівнюваних рядків рівні. Використання оператора "==" для порівняння рядків може привести до невірного результату, якщо порівнювані рядки - різні об'єкти, тому переважнішим є використання методу equals() (цей метод працює і для рядків String і для рядків StringBuffer). Інші методи порівняння рядків, що також повертають булеві значення, приведені в таблиці: Метод Повертає true, коли  equalsIgnoreCase(String anotherString) Рядок дорівнює anotherString, незалежно від регістра символів.  startsWith(String prefix) Рядок починається з prefix.  startsWith(String prefix, int toffset) Підрядок рядка prefix, починаючи з позиції toffset, міститься на початку рядка, що перевіряється.  endsWith(String suffix) Рядок закінчується на suffix.  regionMatches(int toffset, String other, int ooffset, int len) Підрядок в рядку, починаючи з позиції із зсувом toffset, відповідає підрядку, що починається по зсуву ooffset, для len символів.  regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)  Той же, що і попередній метод, але ігнорує регістр символів, коли ignoreCase рівне true.   Метод int compareTo(String anotherString) - лексикографічно порівнює два рядки і повертає 0, якщо рядки рівні по довжині і мають однакове, значення, менше 0, якщо в першій позиції, в якій символи рядків не рівні, код символу в першому рядку менше коду символу в другому рядку або довжина першого рядка менше довжини другого рядка всі символи першого рядка рівні символам в тих же позиціях другого рядка. Якщо в першій позиції, в якій символи рядків не рівні код символу в першому рядку більше коду символу в другому рядку або довжина першого рядка більше довжини другого рядка, повертається значення, більше 0. 2.3.2. Пошук в рядках Для пошуку символів або послідовностей символів (тільки в рядках класу String) використовуються наступні перенавантажувані методи indexOf(), приведені в таблиці: Декларація метода Значення, що повертається  int indexOf(int ch) Перша позиція в рядку, в якому зустрічається символ ch.  public int indexOf(int ch, int fromIndex) Перша позиція в рядку, починаючи з символу fromIndex,в якій зустрічається символ ch.  int indexOf(String str)  Перша позиція в рядку, в якому зустрічається рядок str.  public int indexOf(String str, int fromIndex)  Перша позиція в рядку, починаючи з символу fromIndex,в якій зустрічається рядок str.   Для кожного методу indexOf() є відповідний метод lastIndexOf(), який починає пошук символу або рядка не з початку, а з кінця рядка. Якщо символ або рядок не знайдені в рядку, в якому проводиться пошук, методи indexOf() і lastIndexOf() повертають значення -1. 2.3.3. Витягання символів і підрядків з рядка Витягання символів і підрядків з рядка, а також створення нових рядків на основі існуючих рядків виконується за допомогою методів, приведених в таблиці: Метод Значення, що повертається  char charAt(int index) Символ рядка у позиції index.  char[] toCharArray() Масив символів - копію рядка.  String substring(int beginIndex) Підрядок початкового рядка, що починається з позиції beginIndex початкового рядка.  String substring(int beginIndex, int endIndex)  Підрядок початкового рядка, що починається у позиції beginIndex і закінчується в позиції endIndex-1 початкового рядка.  void getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin)  Значення, що повертається, немає. Копіює частину рядка, починаючи з символу у позиції srcBegin і закінчуючи символом у позиції dstBegin + (srcEnd-srcBegin)-1 у символьний масив dst, починаючи з позиції dstBegin.   2.3.4. Модифікація рядків Створення нових рядків на основі існуючих рядків виконується за допомогою методів, приведених в таблиці: Метод Значення, що повертається  String concat(String str) Початковий рядок, в кінець якого доданий рядок str.  String toLowerCase() Початковий рядок, переведений в нижній регістр.  String toUpperCase() Початковий рядок, переведений у верхній регістр.  String trim() Початковий рядок, з якого виключені початкові і кінцеві пробільні символів.  String replace(char oldChar, char newChar) Початковий рядок, в якому всі символи oldChar замінені на newChar.   Для створення рядків з примітивних типів даних в класі String використовуються переобтяжені статичні public-методи valueOf(), як аргумент яких задається константа, змінна або вираз примітивного типа (boolean, char, int, long, float, або double). Що повертається значення методу є рядок класу String - рядкове представлення аргументу. Крім того, визначені ще дві версії методів valueOf(): static String valueOf(char[] data) - повертає рядкове представлення символьного масиву data; static String valueOf(char[] data, int offset, int count) - повертає рядкове представлення символьного масиву data, починаючи з позиції offset і розміром count. 2.4.СТРУКТУРА ПРОГРАМІ JAVA І ПРОСТІЙ ВВІД-ВИВІД Якщо програма є додатком, вона повинна містити у файлі оголошення класу, ім'я якого співпадає з ім'ям файлу програми, статичний, і такий що не повертає значення, public-метод з ім'ям main: public final static void main(String args[]) { методу тіла } Цей метод запускається першим при виконанні програми. У масиві рядкових змінних args в програму передаються параметри, задані при запуску програми (перший параметр - в нульовому елементі масиву, другий в першому і т.д.). Опис масиву в параметрах методу main є обов'язковим, навіть якщо параметри не обробляються в програмі. Параметри, що задаються в командному рядку, можна використовувати для введення даних в програму. Параметри, що вводяться, відділяються один від одного, принаймні, одним пропуском. Якщо параметри, що вводяться , містять пропуски, то параметри полягають в подвійні апострофи (") (ці апострофи не передаються програмі Java). Якщо в параметрі, поміщеному в подвійні апострофи, необхідно задати символ подвійного апострофа, то усередині параметра він записується як (\"). Якщо як параметр задається символ зірочки (*), то програмі передаються імена файлів поточного каталога (кожне ім'я як окремий параметр). Якщо необхідно передати зірочку як значення параметра, її необхідно також укласти в подвійні апострофи. Для виведення результатів виконання програми і діагностичних повідомлень на дисплей в класі System пакету java.lang описані два потокові об'єкти класу PrintStream: public static final PrintStream out і public static final PrintStream err Оскільки це статичні об'єкти, їх можна використовувати в програмах, не створюючи власних потокових об'єктів, і в той же час їм доступні методи класу для виведення даних (звичайно використовуються методи print() і println()). При виклику методів print() і println() може бути заданий аргумент типу String, char char[], int, long, float, double, boolean і Object. Єдина відмінність між методами print() і println() полягає в тому, що останній завжди додає символ перекладу рядка до всього, що друкує, а перший залишається на тому ж рядку. Якщо потрібно перейти на новий рядок, можна викликати println() без параметрів. Виконання програми закінчується, коли виконаний останній оператор програми або якщо в програмі відбулася помилка (в цьому випадку об'єкт System.err виводить на дисплей діагностичні повідомлення). Виконання програми можна також завершити за допомогою наступного методу класу System: public static void exit(int status) Параметр status задає значення коду завершення програми. За умовчанням програма закінчується з нульовим кодом завершення. Можна вказати ненульовий код завершення, який може бути проаналізований операційною системою або командним файлом. 3.КОНТРОЛЬНІ ЗАПИТАННЯ Які категорії та типи даних визначені на мові Java? Як визначається область видимості та час життя змінної на мові Java? Як визначається доступ до змінної на мові Java? Які види операторів керування визначені на мові Java? Як визначається умовний оператор на мові Java? Які оператори циклу визначені на мові Java і як вони працюють? Чим відрізняється дія оператора break від дії оператора continue? Як виконується оператор вибору switch в Java? Які класи існують в Java для работи зі стрічками, і чим вони відрізняються один від одного? Якими способами можна створити стрічку класу String в Java? Які особливості реализації стрічок в Java необхідно враховувати при порівнянні стрічок? Які методи порівняння стрічок визначені в Java? Які методи пошуку символів і підстрічок в стрічках визначені в Java? Як можна створити нову стрічку класe String на основі існуючої стрічки? Як можна передати параметри програмі Java? В якому вигляді передаються ці параметри? Який метод повинен обов’язково бути в програмі Java для того, щоб програма могла почати виконання і які модифікатори та параметри повинні бути задані для цього методу? 4.ЛАБОРАТОРНЕ ЗАВДАННЯ Ознайомитись з методами для роботи зі стрічками на мові Java Створити новий проект у середовищі Eclipse Скласти програму для роботи зі стрічками на мові Java згідно варіанту індивідуального завдання. Виконати компіляцію програми для отримання файла, який містить байт-код. Запустити програму на виконання із командної стрічки. 5.ЗМІСТ ЗВІТУ Мета роботи. Короткі теоретичні відомості. Постановка задачі індивідуального завдання. Файли проекту. Аналіз результатів та висновки. 6.СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ Bruce Eckel, Thinking in Java, 2nd Edition, 2000. Christopher Batty and David Scuse, Installing Eclipse. Department of Computer Science, University of Manitoba, Winnipeg, Manitoba, Canada, 2003. ДОДАТОК Варіант 1 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є правильним цілим числом (тобто складається з цифр, і, крім того, першим символом числа може бути знак "+" або "-"), то тип параметра "Integer", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах. Варіант 2 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є десятковим числом з цілою і дробовою частиною (тобто складається з цифр, однієї десяткової крапки, яка може бути на початку, у середині або в кінці числа, і, крім того, першим символом числа може бути знак "+" або "-"), то тип параметра "Decimal", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах. Варіант 3 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є числом з плаваючою крапкою (тобто складається з мантиси, можливо із знаком "+" або "-", яка може містити десяткову крапку на початку, середині або кінці, а також порядку - цілого числа із знаком "+" або "-" або без знаку, роздільником між мантисою і порядком служить символ "e" або символ "E"), то тип параметра "Float", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах. Варіант 4 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є цілим восьмерічним числом (тобто складається з цифр від 0 до 7, причому першою цифрою повинен бути 0), то тип параметра "Octal", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Варіант 5 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є цілим шестнадцатерічним числом (тобто складається з цифр від 0 до 9 і букв A(a), B(b), C(c), D(d), E(e),F(f), перед числом повинні стояти символи "0X" або "0x"), то тип параметра "Hexadecimal", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах. Варіант 6 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є цілим двійковим числом (тобто складається з цифр від 0 і 1), то тип параметра "Binary", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах. Варіант 7 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр має вид "имя=значение", то він є ключовим параметром (тип "Keyed"), якщо параметр має вид "-значение" або "/значение", то він є опцією (тип "Optional") і якщо має вигляд "значення", то є безпосереднім параметром (тип "Immediate"). Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення (для ключових параметрів додатково виводиться ім'я параметра). Перевірка числа і виведення результату виконуються в окремих методах. Варіант 8 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр має вигляд "значення", то він є одиночним параметром (тип "Single"), якщо параметр має вигляд "значення, значення. ", то він є списком (тип "List"). Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення (для кожного параметра-списку при висновку його значення перетвориться в масив типу String, кожен елемент якого містить елемент списку і виводиться в циклі по елементах). Перевірка числа і виведення результату виконуються в окремих методах. Варіант 9 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є правильним ідентифікатором Java (тобто складається з букв, цифр і символів "$" і "_", що вважаються буквами, і, крім того, перший символ є буквою), то його тип "Identifier", якщо параметр є ключовим словом Java (для прикладу задати декілька ключових слів Java, "if", "for", "while", "do" і "else"), то його тип "Keyword", інакше його тип вважається "Illegal". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах. Варіант 10 Аналіз параметрів, що задаються при введенні програми. Програма шукає найбільший загальний підрядок, що міститься у введених параметрах. Програма виводить кількість заданих параметрів і найбільший загальний підрядок або повідомлення про те, що загального підрядка немає. Визначення найбільшого загального підрядка виконується в окремому методі. Варіант 11 Аналіз параметрів, що задаються при введенні програми. Програма визначає, які символи містяться у введених параметрах (наприклад, параметри "abc", "cf", "bfc" містять символи "abcf"). Програма виводить кількість заданих параметрів і рядок символів, що містяться в параметрах. Визначення рядка символів виконується в окремому методі. Варіант 12 Аналіз параметрів, що задаються при введенні програми. Програма видаляє з параметрів символи, що все повторюються, окрім одного (наприклад, параметр "abcadc", перетвориться в "abcd"). Програма виводить кількість заданих параметрів і перетворені значення параметрів. Перетворення параметра виконується в окремому методі. Варіант 13 Аналіз параметрів, що задаються при введенні програми. Програма визначає рядок символів що зустрічаються тільки в одному з параметрів (наприклад, для параметрів "agc", "cf", "bfc" таким рядком буде рядок "gb"). Програма виводить кількість заданих параметрів і знайдений рядок символів або повідомлення про те, що таких символів немає. Визначення рядка символів проводиться в окремому методі. Варіант 14 Аналіз параметрів, що задаються при введенні програми. Програма визначає, скільки разів символ зустрічається у введених параметрах (наприклад, для параметрів "agc", "cf", "bfc" символи "a", "g" і "b" зустрічаються один раз, символ "f" - двічі і символ "c" - три рази). Програма виводить кількість заданих параметрів і для кожного символу - частоту його повторення в параметрах. Визначення частоти повторення символів проводиться в окремому методі. Варіант 15 Аналіз параметрів, що задаються при введенні програми. Програма сортує введені параметри по першому символу параметра (без урахування регістра), який повинен бути латинською буквою. Програма виводить кількість заданих параметрів, відсортовані елементи і, окремо, список елементів, які не можна відсортувати. Сортування параметрів проводиться в окремому методі. Варіант 16 Аналіз параметрів, що задаються при введенні програми. Програма визначає тип параметра - ціле число або рядок (цілим числом вважається рядок, який містить цифри і, крім того, першим символом рядка може бути знак "+" або "-"). Потім серед параметрів-чисел шукається максимальне число. Програма виводить кількість заданих параметрів, кількість параметрів-чисел і значення максимального числа. Визначення типу параметра і визначення максимального числа проводиться в окремих методах. Варіант 17 Аналіз параметрів, що задаються при введенні програми. Програма визначає, чи є серед введених параметрів однакові параметри і число їх повторення. Програма виводить кількість заданих параметрів, значення параметрів, що повторюються, і кількість їх повторення або повідомлення про те, що параметрів, що повторюються, немає. Визначення параметрів, що повторюються, проводиться в окремому методі. Варіант 18 Аналіз параметрів, що задаються при введенні програми. Програма переставляє введені параметри у порядку зростання їх довжини. Програма виводить кількість заданих параметрів і їх значення у порядку зростання довжини. Перестановка параметрів проводиться в окремому методі. Варіант 19 Аналіз параметрів, що задаються при введенні програми. Програма визначає, які з введених параметрів містять рядок, що задається як перший параметр. Програма виводить кількість заданих параметрів (без урахування першого параметра) і параметри, що містять заданий підрядок або повідомлення про те, що даний рядок не міститься у введених параметрах. Визначення параметрів, що містять перший параметр, проводиться в окремому методі. Варіант 20 Аналіз параметрів, що задаються при введенні програми. Програма видаляє з масиву введених параметрів параметри, що все повторюються, окрім одного (наприклад, з параметрів "ab", "cd", "ab" будуть залишені параметри "ab" і "cd"). Програма виводить кількість заданих параметрів, кількість різних параметрів і їх значення. Визначення неоднакових параметрів виконується в окремому методі. Варіант 21 Аналіз параметрів, що задаються при введенні програми. Програма визначає тип параметра - ціле число або рядок (цілим числом вважається рядок, який містить цифри і, крім того, першим символом рядка може бути знак "+" або "-"). Потім параметри числа сортуються у порядку зростання їх значення. Програма виводить кількість заданих параметрів, кількість параметрів-чисел і їх значення у порядку зростання. Визначення типу параметра і сортування чисел проводиться в окремих методах. Варіант 22 Перетворення параметрів, що задаються при введенні програми. Програма визначає тип параметра - двійкове число без знаку або рядок (двійковим числом без знаку вважається рядок, який містить цифри 0 і 1). Введені параметри-числа перетворяться в шестнадцатерічниє числа (кожні чотири цифри двійкового числа перетворяться в одному шестнадцатерічноє, тому, при необхідності, в значення параметра додаються нулі до довжини, кратної 4). Програма виводить кількість заданих параметрів, кількість параметрів-чисел і їх шестнадцатерічниє значення. Перетворення параметра-числа проводиться в окремому методі. Варіант 23 Перетворення параметрів, що задаються при введенні програми. Програма визначає тип параметра - шестнадцатерічноє число без знаку або рядок (шестнадцатерічним числом без знаку вважається рядок, який містить цифри від 0 до 9 і букви A(a), B(b), C(c), D(d), E(e),F(f)). Введені параметри-числа перетворяться в двійкові числа. Програма виводить кількість заданих параметрів, кількість параметрів-чисел і їх двійкові значення. Перетворення параметра-числа проводиться в окремому методі. Варіант 24 Перетворення параметрів, що задаються при введенні програми. Програма перетворить російські і латинські букви в параметрах у верхній регістр (якщо вони є рядковими). Програма виводить кількість заданих параметрів і нові значення параметрів. Пошук і перетворення букв виконується в окремому методі. Варіант 25 Перетворення параметрів, що задаються при введенні програми. Програма визначає тип параметра - шестнадцатерічноє число без знаку або рядок (шестнадцатерічним числом без знаку вважається рядок, який містить цифри від 0 до 9 і букви A(a), B(b), C(c), D(d), E(e),F(f)). Введені параметри-числа перетворяться в десяткові числа (кожна i-ая цифра шестнадцатерічного числа перетвориться в десяткове число Ni по формулі Ni=16n-i-1, де n - кількість цифр в числі; i = 0,n - індекс цифри в числі, шукане число є сумою всіх Ni). Програма виводить кількість заданих параметрів, кількість параметрів-чисел і їх десяткові значення. Перетворення параметра-числа проводиться в окремому методі. Варіант 26 Аналіз параметрів, що задаються при введенні програми. Параметр має наступний формат: имя-типа-или-имя-класса.имя-переменной-или-имя-метода і є зверненням до змінної або виклик методу для об'єкту або класу в Java. Якщо перший символ звернення - заголовна буква, то виводиться тип "Static", якщо рядкова буква - виводиться "Object". Якщо ім'я змінної або методу починається з рядкової букви, то якщо ім'я містить символи "("і ")", то виводиться тип звернення "Method", інакше виводиться тип звернення "Variable". Якщо яка-небудь з приведених умов не виконується, то виводиться тип або тип звернення "Illegal". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип, тип звернення і значення. Перевірка числа і виведення результату виконуються в окремих методах. Варіант 27 Аналіз параметрів, що задаються при введенні програми. Програма розглядає параметри, що вводяться, як імена файлів MS DOS, визначає тип файлу по його розширенню (наприклад, "Program" або "Word document"), і проводить перевірку правильності завдання імені файлу відповідно до наступних умов: 1. У імені файлу не повинне бути більше 8 символів, а в розширенні імені (якщо воно є) - не більше 3 символів. 2. У імені файлу не повинно бути російських букв, пропусків, одиночних і подвійних апострофів, а також символів "-", "_", "$", "#", "&", "@" "!", "%" "(", ")", "{", "}", "~", "." і "*". Варіант 28 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є правильним ідентифікатором мови C (тобто складається з латинських букв, цифр і символу і "_", що вважається буквою, і, крім того, перший символ є буквою), то його тип "Identifier", якщо параметр є ключовим словом C (для прикладу задати декілька ключових слів C, "if", "for", "while", "do" і "else"), то його тип "Keyword", інакше його тип вважається "Illegal". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах. Варіант 29 Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є числовим літералом, тобто починається з цифри, то визначається його тип ("Integer" або "Real"), якщо параметр поміщений в одиночні апострофи і містить один символ, то його тип - "Character", якщо параметр поміщений в подвійні апострофи, то його тип - "String". Якщо ні одна з умов не виконується, то тип параметра - "Identifier". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах. Варіант 30 Аналіз параметрів, що задаються при введенні програми. Програма розглядає параметри (параметри можуть містити пропуски), що вводяться, як імена файлів Windows і визначає тип файлу по його розширенню (наприклад, "Program" або "Word document"), а потім переводить ім'я файлу (зване в Windows довгим ім'ям) в коротке ім'я (або ім'я MS DOS) по наступному алгоритму: 1. Якщо є розширення файлу, і воно містить більше трьох символів, в ньому залишаються перші три символи. 2. З імені файлу віддаляються символи, неприпустимі в імені файлу MS DOS (пропуски, одиночні і подвійні апострофи, а також символи "-", "_", "$", "#", "&", "@" "!", "%" "(", ")", "{", "}", "~", "." і "*"). 3. Якщо довжина імені, що вийшло, менше або рівна 6 символам, ім'я, що вийшло, береться як ім'я файлу, інакше як довжина файлу беруться перші 6 символів файлу, після яких ставиться символи "~1". 4. Якщо у якого-небудь імені файлу коротке ім'я співпадають з коротким ім'ям іншого файлу, то якщо ім'я файлу менше або рівне 6, до нього додаються символи "~1", "~2" і т.д., інакше останній символ в імені файлу збільшується на 1.
Антиботан аватар за замовчуванням

17.07.2020 10:07-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!