Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 06.12.2017, 15:53   #1
Feel_OK
 
Регистрация: 06.12.2017
Сообщений: 8
Репутация: 10
Сообщение Задача на циклы (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, 16:24   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,367
Репутация: 5308
По умолчанию

а точно Вам нужен цикл 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, 16:31   #3
Feel_OK
 
Регистрация: 06.12.2017
Сообщений: 8
Репутация: 10
По умолчанию

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

icq: 216409213
По умолчанию

Можно. Циклы вообще-то взаимозаменяемые.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 06.12.2017, 17:41   #5
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,367
Репутация: 5308
По умолчанию

с циклом 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 в 17:53.
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 06.12.2017, 17:50   #6
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,295
Репутация: 2073

icq: 216409213
По умолчанию

Цитата:
не понимаю, зачем тут именно for
Затем, что есть начальное условие (которое вы игнорируете), есть условия остановки и шаг...
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 06.12.2017, 18:07   #7
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,367
Репутация: 5308
По умолчанию

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

icq: 216409213
По умолчанию

Все так, у меня не было поста с новыми вариантами.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 06.12.2017, 18:13   #9
Feel_OK
 
Регистрация: 06.12.2017
Сообщений: 8
Репутация: 10
По умолчанию

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

А вариант с for зашел на ура))
Feel_OK вне форума   Ответить с цитированием
Старый 06.12.2017, 18:15   #10
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,295
Репутация: 2073

icq: 216409213
По умолчанию

Вы только проверку делителя добавьте, а то вдруг он кривой, а не ровный.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


19:29.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru