Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2017, 14:53   #1
Feel_OK
 
Регистрация: 06.12.2017
Сообщений: 8
Сообщение Задача на циклы (for, if)

Считать с клавиатуры 2 целых числа - деленное и делитель, делитель не ровный нулю.
Вывести в консоль наименьшее число, кратное делителю, не менее делимого.

Код:
import java.util.Scanner;
public class NextMultiple{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int x = sc.nextInt();
		int y = sc.nextInt();
		
		for(int i = x; i > x; i++){
			if(i % y == 0){
		
			System.out.println(i);
			}sc.close();
		}

	}
}
То есть при вводе 7 и 6 в консоли должно вывести 12
Никак не могу понять как указать условие при котором цыкл будет останавливаться и выводить нужное мне число.

Заранее спасибо
Feel_OK вне форума Ответить с цитированием
Старый 06.12.2017, 15:24   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а точно Вам нужен цикл for ?

дело в том, что тут задача просто проситься быть решена через while:

Код:
		int x = sc.nextInt();
		int y = sc.nextInt();
		
		while(!(x%y).equals(0)){ y++; }

		System.out.println(y);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.12.2017, 15:31   #3
Feel_OK
 
Регистрация: 06.12.2017
Сообщений: 8
По умолчанию

Спасибо)))
А через for эту задачу можно сделать?
Feel_OK вне форума Ответить с цитированием
Старый 06.12.2017, 15:48   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Можно. Циклы вообще-то взаимозаменяемые.
p51x вне форума Ответить с цитированием
Старый 06.12.2017, 16:41   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

с циклом while я, похоже, намутил не то чуток.

попробуйте такой вариант:
Код:
		int x = sc.nextInt();
		int y = sc.nextInt();
		sc.close();

		while(x%y != 0){ x++; }

		System.out.println(x);

Цитата:
Сообщение от Feel_OK Посмотреть сообщение
А через for эту задачу можно сделать?
ну, наверное, можно.
не понимаю, зачем тут именно for, но попробуйте так:
Код:
	

		for(;x%y != 0;x++){ }

		System.out.println("результат ="+x);
ideone

Последний раз редактировалось Serge_Bliznykov; 06.12.2017 в 16:53.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.12.2017, 16:50   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
не понимаю, зачем тут именно for
Затем, что есть начальное условие (которое вы игнорируете), есть условия остановки и шаг...
p51x вне форума Ответить с цитированием
Старый 06.12.2017, 17:07   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Затем, что есть начальное условие (которое вы игнорируете), есть условия остановки и шаг...
если не секрет, то что это за начальное условие, которое я игнорирую?
или просто напишите, как должно быть правильно.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.12.2017, 17:13   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Все так, у меня не было поста с новыми вариантами.
p51x вне форума Ответить с цитированием
Старый 06.12.2017, 17:13   #9
Feel_OK
 
Регистрация: 06.12.2017
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
с циклом while я, похоже, намутил не то чуток.
ideone
Что-то while не работает с этим кодом.
Бесконечно просит ввода цифр

А вариант с for зашел на ура))
Feel_OK вне форума Ответить с цитированием
Старый 06.12.2017, 17:15   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Вы только проверку делителя добавьте, а то вдруг он кривой, а не ровный.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на циклы C Заечка Помощь студентам 12 17.10.2016 11:50
Задача на циклы! На С axel__ Общие вопросы C/C++ 1 25.05.2015 10:39
Задача на циклы }|{eka Паскаль, Turbo Pascal, PascalABC.NET 3 27.06.2012 21:31
Задача на циклы dmitriy20104 Паскаль, Turbo Pascal, PascalABC.NET 7 25.06.2012 22:48
задача на циклы! Voldemort93 Паскаль, Turbo Pascal, PascalABC.NET 9 11.09.2010 16:04