Покрытые темы

Таблица ASCII кодов - https://ru.wikipedia.org/wiki/ASCII

String name = scanner.nextLine(); // String - строка, по сути это массив состоящий из символов
int length = name.length();       // у строки можно спросить ее длину вызвав у нее метод length() (он возвращает целое число)
char firstChar;                   // char - примитивный тип представляющий какой бы то ни было символ
firstChar = name.charAt(0);       // charAt - метод позволяющий считать символ строки по нужному индексу (как и с обычными массивами - с нуля)

System.out.println("В телефонной книге ваше имя на страничке на букву " + firstChar);
if (firstChar >= 'A' && firstChar <= 'Z') { // обратите внимание что СИМВОЛЫ - в одиночных кавычках
    System.out.println("Буква заглавная!"); // а СТРОКИ - в двойных кавычках
}
System.out.println("a"); // а что тогда это такое? строка, т.е. двойные кавычки, просто она длины один - состоит из всего одного сивола

int charCode = (int) firstChar;   // таким образом можно получить код символа (в таблице ASCII)
System.out.println("У символа " + firstChar + " ASCII-код: " + charCode);
int nextCode = charCode + 1;       // посчитали следующий код
char nextSymbol = (char) nextCode; // таким образом можно преобразовать код в символ
System.out.println("Следующий символ в таблице: " + nextSymbol);

String stringValue = scanner.nextLine();    // считываем число от пользователя, но ввиде СТРОКИ!
int value  = Integer.parseInt(stringValue); // таким образом можно преобразовать строку в число
int value2 = Integer.parseInt("10");        // так тоже можно, теперь в value2 хранится число 10

// Чтобы начать использовать динамические массивы так же как и со Scanner ранее - вам надо сначала подключить "библиотеку" описывающую эти массивы:
import java.util.ArrayList; // это должно быть в самом начале файла - ВНЕ main-функции

ArrayList<Integer> values = new ArrayList<Integer>(); // Таким образом создается динамический массив целых чисел
ArrayList<String>  names  = new ArrayList<String>();  // Таким образом создается динамический массив в котором каждый элемент - строка
// т.е. тип в динамическом массиве описывается в угловых скобочках
// если вы хотите хранить примитивные типы, то вместо int - Integer, вместо double - Double
int arrayLength = values.size(); // у массива можно узнать его размер вызвав метод size() (в переводе на русский - размер), изначально он равен нулю
values.add(10); // таким образом можно добавить элемент в конец массива (и т.о. увеличить его размер на один элемент)
values.add(20);
values.add(30);
System.out.println(values.size()); // выведет 3 - т.к. такой теперь размер динамического массива (ведь мы добавили три элемента)
int value = values.get(1); // таким образом можно запросить элемент по индексу, как и с обычными массивами - индексация с нуля
// т.е. в value лежит число 20

Задание

Задание на дом - к четвергу 29 сентября - выполнить задачки в http://mdl.sch239.net/ :

1) Считайте строку.

Если первый символ - заглавная английская буква: выведите “Capital letter!”, если маленькая английская буква: выведите “Lowercase letter!”, если цифра: “Digit!”, если пробел: “Space!”, иначе - “Something else!”.

Затем выведите размер строки ввиде “Length of the string: N”.

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

3) Пользователь вводит строки одну за другой.

Напишите цикл while. Если он введет строку “exit” - воспользуйтесь командой break чтобы выйти из цикла.

В остальных случаях - преобразуйте строку в число и добавьте его в динамический массив целых чисел.

После этого считайте еще одно число X от пользователя и выведите количество чисел в массиве которые меньше или равны X.

Возможные ошибки

1) Если вы видите что-то вроде /var/www/html/jobe/application/libraries/../../runguard/runguard: warning: timelimit exceeded при отправке решения в mdl:

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

Решение - добавить фиктивное изменение в код (например пустую строку) и переотправить.