Заведём джаву. Внеурочная заметка №4. Сумма цифр трёхзначного числа.


Просмотров: 20

Во внеурочных заметках я стараюсь размещать наиболее интересные решения популярных задач. В этот раз мы сосчитаем сумму цифр трехзначного числа. К примеру есть число 321 – сумма его чисел 6. Как же сказать об этом программе?

public class test3 {

    public static void main(String[] args) {
        System.out.println(sumnum(321));
    }

    public static int sumnum(int number) {
       
    }


}

Простейший класс, метод main, в котором мы выводим на экран значение, которое вернёт метод sumnum, если передать ему число 546, собственно и сам статический метод sumnum. Статический – дабы нам не создавать объект – сделаем в процедурном стиле.

Итак есть число 321, логично, что каждую цифру нужно “загнать” в массив.

[0] = 3;

[1] = 2;

[2] = 1;

То есть что-то вроде:

 

public int[] chislo = {"3", "2", "1"}; 

Ага – подумали мы. Как же сказать программе, что это у нас массив?

Во-первых можно перевести число 321  в строку 321. Для этого можно воспользоваться методом valueOf.

Позволю себе немного “копипасты”.

Читать дальше …

Заведём джаву. Внеурочная заметка №3. Функция RANDOM (случайное число) в Java


Просмотров: 16

Как-то рассказывал детишкам понятие класс, поля класса, объект, метод в Java, то есть самые базовые понятия в ООП. В качестве примера создавали мы объект крыса (так детишки предложили), а в качестве метода… по предложению моих любимых детишек-студентов крыса должна была укусить случайного студента. И вот тут возник вопрос, а как реализовать метод случайного значения (random)? Вопрос далеко не праздный, как оказывается – не всё так просто.  Но обо всём по порядку. Сначала мы создали класс kriska.

public class kriska {

    

}

Потом мы добавили поля класса, такие, как имя крыски, её цвет и вес.

public class kriska {

public String name = "Кевин Дэ Хомячков";

public int ves = 100;

public String cvet = "Зелёная";

}

 

Да да вот так зовут нашу животинку – Кевин Дэ Хомячков и весит она у нас 100 кг.  Тоже студенты придумали :).

 

Добавим массив студентов.

 

public String[] students = {"Вася", "Петя", "Коля"};


Ну что ж, создадим метод ykysi?

 

public void ykysi(){

    System.out.println(cvet + " крыса " + name + " весом " + ves + " кг"+ " укусила Васю. " );


}

 

Ну и конечно же метод main. Также обратите внимание на то, что метод ykysi не имеет ключевого слова статик, а значит для вызова этого метода нужно будет создать объект.

 

public class kriska {

    public String name = "Кевин Дэ Хомячков";

    public int ves = 100;

    public String cvet = "Зелёная";

    public String[] students = {"Вася", "Петя", "Коля"};

    public void ykysi(){

        System.out.println(cvet + " крыса " + name + " весом " + ves + " кг"+ " укусила Васю. " );


    }

    public static void main (String args[]) {

        kriska kevin = new kriska();

        kevin.ykysi();

    }
}

 

Особо не устанавливаюсь на ключевых словах и модификатора доступа, поскольку всё это мы проходили в прошлых лекциях. После компиляции появится сообщение, что “Зелёная крыса Кевин Дэ Хомячков весом 100 кг укусила Васю. ” Однако же нам требуется, чтобы крыска “кусала” случайного товарища из массива. По идеи выглядеть это должно примерно так:

System.out.println(cvet + " крыса " + name + " весом " + ves + " кг"+ " укусила " + students[тут случайное число от 0 до 2] );

Для генерации случайного числа в java есть метод Math.random();, вот только генерирует он числа от 0 до 1!
То есть имеет тип double.

 

Читать дальше …

Заведём джаву. Внеурочная заметка №2. Сортировка чисел по возрастанию.


Просмотров: 19

ЗАМЕТКА НЕДООФОРМЛЕНА. ЧУТЬ ПОЗЖЕ ИЗМЕНЮ.

 

Интересно задание и элегантное решение удалось обнаружить на просторах сети по Java. Считаю целесообразным опубликовать его здесь и разобрать по строкам. Суть задания: пользователь вводит 5 чисел и программка выводит их по мере возрастания. Код:


public class array {

    public static void main(String[] args) throws Exception
    {

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int[] a = new int[5];
        for (int i = 0; i < 5; i++){
            a[i] = Integer.parseInt(reader.readLine());
        }

        for (int i = 0; i < a.length; i++){
            int min = a[i];
            int minIndex = i;
            for (int j = i + 1; j < a.length; j++){
                if (a[j] < min){
                    min = a[j];
                    minIndex = j;
                }
            }
            if (i != minIndex){
                int temp = a[i];
                a[i] = a[minIndex];
                a[minIndex] = temp;
            }
            System.out.println(a[i]);
        }
    }
}


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

Объявляется так: тип[] имя;
тип имя[];

Где тип — это тип элементов массива, а имя — уникальный (незанятый другими переменными или объектами в этой части программы) идентификатор, начинающийся с буквы.

Пример: String[] kotiki = new String[5]; Мы объявили массив kotiki типа String (строка), который будет содержать 5 значений.

Пример:


String[] kotiki = new String[5];

kotiki[0] = "Пусь";

kotiki[1] = "Мурчик";

kotiki[2] = "Барсик";

kotiki[3] = "Мурзик";

kotiki[4] = "Китякет";

System.out.println(kotiki[2]);

Читать дальше …