powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачи на числа. Решение. Покритикуйте. (часть #1)
17 сообщений из 117, страница 5 из 5
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37751242
Denis_m1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДенис, ну вот скажи мне, а если у меня будет 100 целых чисел в качестве
второго аргумента ты будешь делать 100 блоков if (..) {} ?
Тогда, так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
    public static void findModNumbers(int[] sourceNumbers, int... args) {
	print("Числа, которые делятся на " + Arrays.toString(args) + ": ");
	HashSet<Integer> uniqueNumbers = new HashSet<Integer>();
	if (args.length == 1) {
	    for (int sourceNumber : sourceNumbers) {
		if (sourceNumber % args[0] == 0) {
		    print(sourceNumber + ", ");
		}
	    }
	} else if (args.length == 2) {
	    for (int sourceNumber : sourceNumbers) {
		if ((sourceNumber % args[0] == 0 && sourceNumber % args[1] == 0)) {
		    print(sourceNumber + ", ");
		}
	    }
	} else if (args.length >= 3) {
	    for (int sourceNumber : sourceNumbers) {
		for (int i = 0; i < args.length - 1; i++)
		    for (int i2 = 2; i2 < args.length; i2++)
			if ((sourceNumber % args[i] == 0 && sourceNumber
				% args[i + 1] == 0)
				&& (sourceNumber % args[0] == 0 && sourceNumber
					% args[i2] == 0)) {
			    if (uniqueNumbers.add(sourceNumber)) {
				print(sourceNumber + ", ");
			    }
			}
	    }
	}
	println();
    }
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37754380
Denis_m1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код наиболее последней версии переехал сюда: http://ideone.com/a72cO
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37754417
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis_m1st, еще не смотрел. Но общее впечатление могу
охарактеризовать одним словом.

Капец!
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37754483
Denis_m1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonDenis_m1st, еще не смотрел. Но общее впечатление могу
охарактеризовать одним словом.

Капец!Капец - это хорошо или не очень?
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37755235
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень.
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37756061
Denis_m1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНе очень.Аргументируйте.
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37756065
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis_m1stmaytonНе очень.Аргументируйте.
У тебя есть модульный тест для функции findModNumbers(int[] sourceNumbers, int... args) ?
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37756275
Denis_m1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonУ тебя есть модульный тест для функции findModNumbers(int[] sourceNumbers, int... args) ?Что вы подразумеваете под "модульным тестом"? JUnit тесты?
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37756295
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37758116
Denis_m1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, я не думаю, что в данном случае целесобразно писать юнит-тесты.
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37758156
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... целесообразно чтобы написать другой код который будет компактнее твоего
протестировать и доказать эквивалетность двух исходников. Я и сам бы мог написать
Junit-тест но считаю что это ДОЛЖЕН сделать именно автор т.к. учесть краевые
моменты (null,аргументы, отрицательные, переполнения разрядной сетки)
можно только в тесте. На словах это описать нереально.

Далее будешь сам выбирать. Обычно здравый смысл подсказывает
что исходник который короче - поддерживать легче.
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37758323
Denis_m1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНу... целесообразно чтобы написать другой код который будет компактнее твоего
протестировать и доказать эквивалетность двух исходников. Я и сам бы мог написать
Junit-тест но считаю что это ДОЛЖЕН сделать именно автор т.к. учесть краевые
моменты (null,аргументы, отрицательные, переполнения разрядной сетки)
можно только в тесте. На словах это описать нереально.

Далее будешь сам выбирать. Обычно здравый смысл подсказывает
что исходник который короче - поддерживать легче.Java, мягко говоря, не самый компактный язык и попытки добиться компактного кода могут привести лишь к потери времени и потери читаемости кода.
Насчет юнит-тестов, есть определенные случаи, когда они пишутся, а когда нет. Один из аргументов за то, чтобы не писать - это время, требуемое на их написание. Если оно превышает время на написание самого кода, что ожидаемо в данном случае, то это уже не целесообразно.
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37758876
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не в том дело. У тебя логика местами дублируется.
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37760013
Denis_m1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНе в том дело. У тебя логика местами дублируется.В каких местах?
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37760055
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая долгая дискуссия выходит. Может всё таки осилишь тест?
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37761322
Denis_m1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКакая долгая дискуссия выходит. Может всё таки осилишь тест?Если вы издалека начинаете. Тест ради теста - не осилю.
...
Рейтинг: 0 / 0
Задачи на числа. Решение. Покритикуйте. (часть #1)
    #37761334
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как будет угодно.
...
Рейтинг: 0 / 0
17 сообщений из 117, страница 5 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачи на числа. Решение. Покритикуйте. (часть #1)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]