Добрый день!
Задача:
Метод count класса For принимает длину возвращаемой последовательности в виде целого числа(int) и шаг последовательности также в виде целого числа(int), а возвращать строковое представление последовательности чисел, разделенное пробелами.
Последовательность это арифметическая прогрессия с первым членом ряда 0 и далее идут числа меняющиеся с заданным шагом.
Например, для аргументов (5,2), результат "0 2 4 6 8".
Для аргументов (1, 3), результат "0" - то есть 0 это первый член ряда с длиной ряда 1.
Для аргументов (7, 3), результат "0 3 6 9 12 15 18".
Максимальная длина ряда 10, шаг от минус 5 до 7.
Реализуйте код метода с помощью оператора for. Аналогично используйте StringBuilder для формирования выходной строки.
Решил задачу следующим образом, все работает:
public class For {
String count(int length, int step) {
StringBuilder sb = new StringBuilder();
for ( int i = 0 , j = 0; i < length * step && step>=0 && step <=7 && length>0 && length<=10; i += step)
{
sb.append(i+ " ");
}
for ( int i = 0 , j = 0; j > length * step && step >=-5 && step <0 && length>0 && length<=10; j = j + step)
sb.append(j + " ");
return sb.toString().trim();
}
};
Но преподаватель поставил задачу - убрать из условий step и удалить один из циклов.
Я в ступоре, как не пробую, результат - код не работает.
например:
public class For {
String count(int length, int step) {
StringBuilder sb = new StringBuilder();
for ( int i = 0 , j = 0; j > length && length>0 && length<=10; j = j + step)
sb.append(j + " ");
return sb.toString().trim();
}
};
Подскажите, пожалуйста, как исправить.
comando
0 уровень
Задача про оператор For
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
17 ноября 2020, 15:01
Убери вообще всю арифметику внутрь цикла, оставь простое условие for:
0