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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2010, 21:03   #1
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию Не выходит из цикла

Здравствуйте! Переписал с Delphi функцию для нахождения простых чисел в Java, но почему-то она в Java не работает, то есть цикл зациклюется. В чем проблема? Вот код:

Код:
		boolean B;
		int I, J, R;
		for (I = A; I < B; I++)
		{
			 J = 1;
			 do
			 {
				 R = I % J;
				 if (R != 0)
					 J++;
			 } while(R == 0);
			 if (I == J)
				 B = true;
			 else
				 B = false;
PS: должно проверять число на простое в диапазоне от A до B
RIO вне форума Ответить с цитированием
Старый 23.05.2010, 22:37   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

А дебаггером поработать? Может и ошибка сама собой появится.
Carbon вне форума Ответить с цитированием
Старый 23.05.2010, 23:22   #3
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Поиск простых чисел. Задаешь диапазон поиска переменными xn и xk.
Код:
public class Test {

	public static void main(String[] args) {
		int xn = 2, xk = 100;
		for(int i = xn; i <= xk; i++)
			for(int j = 2; j <= i; j++)
				if((i % j) == 0){
					if(j < i) break;
					System.out.println("Число " + i + " простое.");
				}
	}
	
}
profi вне форума Ответить с цитированием
Старый 23.05.2010, 23:54   #4
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Спасибо Кстати я решил эту проблему похожим образом, вот:

Код:
	private static void Prime(int A, int B)
	{
		boolean F;
		int I, J;
		for (I = A; I < B; I++)
		{
			 F = true;
			 for (J = 2; J <= Math.sqrt(I); J++)
			 {
				  if ((I % J) == 0)
				  {
					  F = false;
					  break;
				  }  
			 }
			 if (F)
				 System.out.println(I);
			     
		}
	}
Может кому-то пригодиться
RIO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выходит ошибка Mereke Помощь студентам 0 22.05.2010 15:21
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
компилировать не выходит 3.14oner Общие вопросы по Java, Java SE, Kotlin 5 08.11.2008 18:36
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10
Почта не выходит наружу. sonechko Работа с сетью в Delphi 7 27.04.2007 12:12