Форум пока ещё преподавателя
http://makson.ru/forum/

Помощь в решении задачек javarush (до 10 уровня)
http://makson.ru/forum/viewtopic.php?f=35&t=845
Страница 1 из 6

Автор:  Maksim Sergeevich [ 03 ноя 2016, 16:06 ]
Заголовок сообщения:  Помощь в решении задачек javarush (до 10 уровня)

Начиная с 10-го уровня сервис является платным. Поэтому будем публиковать задачки до 10-го уровня.

Автор:  Anastasiya Fevraleva [ 20 ноя 2016, 17:13 ]
Заголовок сообщения:  Re: Помощь в решении задачек javarush (до 10 уровня)

package com.javarush.test.level02.lesson08.task06;

/* Вывод текста на экран
Написать функцию, которая выводит переданную строку (слово) на экран три раза, но в одной строке.
Слова должны быть разделены пробелом и не должны сливаться в одно.
*/
public class Solution
{
public static void print3(String s)
{
//напишите тут ваш код

}
public static void main(String[] args)
{
print3("window");
print3("file");
}
}

Автор:  Maksim Sergeevich [ 21 ноя 2016, 21:40 ]
Заголовок сообщения:  Re: Помощь в решении задачек javarush (до 10 уровня)

ааа помню-помню эту странную задачку. Казалось бы чего проще? Есть метод main, который вызывает метод print3 и передаёт ему значение в переменную s типа String.

public class Test2 {
public static void print3(String s)
{
System.out.println(s + " " + s + " " + s);
}
public static void main(String[] args) {
print3("window");
print3("file");
}
}

Автор:  Maksim Sergeevich [ 21 ноя 2016, 21:43 ]
Заголовок сообщения:  Re: Помощь в решении задачек javarush (до 10 уровня)

Попробуй так:

public class Test2 {

public static void print3(String s)
{
System.out.println(s + " " + s + " " + s + "\n");
}

public static void main(String[] args) {

print3("window");
print3("file");

}

}

\n - это перенос строки.

Автор:  Anastasiya Fevraleva [ 21 ноя 2016, 22:17 ]
Заголовок сообщения:  Re: Помощь в решении задачек javarush (до 10 уровня)

Получилось.Только надо было заменить System.out.println(s + " " + s + " " + s + "\n"); на
System.out.print(s + " " + s + " " + s + "\n");

Автор:  Maksim Sergeevich [ 22 ноя 2016, 13:46 ]
Заголовок сообщения:  Re: Помощь в решении задачек javarush (до 10 уровня)

Точно! Действительно, зачем println, если мы и так делаем перенос строки? Недоглядел-с.

Автор:  Anastasiya Fevraleva [ 23 ноя 2016, 15:46 ]
Заголовок сообщения:  Re: Помощь в решении задачек javarush (до 10 уровня)

/* Реализовать метод setName
Реализовать метод setName, чтобы с его помощью можно было устанавливать значение переменной private String name равное переданному параметру String name.
*/

public class Cat {
private String name;

public void setName(String name) {
//напишите тут ваш код
}
}

Автор:  Maksim Sergeevich [ 23 ноя 2016, 21:53 ]
Заголовок сообщения:  Re: Помощь в решении задачек javarush (до 10 уровня)

Всё просто. Итак у нас есть поле name класса Cat с модификатором доступа private. Почему именно private? Чтобы нельзя было изменить поле из другого класса. Обычно делают как: новое значение передаётся в публичный метод (в нашем случае это метод SetName). В этом методе можно реализовать какую-либо логику, например, чтобы нельзя было передавать значение ниже 0 и так далее. Соответственно в метод setName мы передаём какое-то значение, типа String (имя) и приравниваем значение переменной name к значению переменной, которую мы передаём в метод setName.

Однако в название переменной в методе Setname такое же, как в поле класса (name). Как компилятор поймёт где какой name? А очень просто - мы будем использовать ключевое слово this для приватной переменной поля класса.

package test2;

public class Test2 {
private String name;

public void setName(String name) {

this.name = name;
System.out.println(this.name);

}

public static void main(String[] args) {

Test2 test2 = new Test2();

test2.setName("Мурчик");

}

}

Автор:  Maksim Sergeevich [ 23 ноя 2016, 21:54 ]
Заголовок сообщения:  Re: Помощь в решении задачек javarush (до 10 уровня)

Ну это сразу с проверкой написал, а вообще решение такое:

public class Cat {
private String name;

public void setName(String name) {
//напишите тут ваш код
this.name = name;

}
}

Автор:  Anastasiya Fevraleva [ 25 ноя 2016, 23:07 ]
Заголовок сообщения:  Re: Помощь в решении задачек javarush (до 10 уровня)

/* Ближайшее к 10
Реализовать метод closeToTen. Метод должен выводить на экран ближайшее к 10 из двух чисел, записанных в аргументах метода.
Например, среди чисел 8 и 11 ближайшее к десяти 11. Если оба числа на равной длине к 10, то вывести на экран любое из них.
Подсказка: используйте метод public static int abs(int a), который возвращает абсолютную величину числа.
*/

public class Solution
{
public static void main(String[] args)
{
closeToTen(8,11);
closeToTen(14,7);
}

public static void closeToTen(int a, int b)
{
//::CODE:

}

public static int abs(int a)
{
if (a < 0) {
return -a;
} else {
return a;
}
}
}

Страница 1 из 6 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/