Добрый день!
Задача:
Метод count класса While принимает длину возвращаемой последовательности в виде целого числа(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.
Реализуйте код метода с помощью оператора while или do-while (в зависимости как будет удобнее).
Конкатенацию строковых значений реализуйте с помощью StringBuilder
Решение:
public class While {
String count(int length, int step) {
StringBuilder sb = new StringBuilder();
int i = 0;
int j = 0;
while (i < length * step && step>=0 && step <=7 && length>0 && length<=10){
sb.append(i+ " ");
i += step;
}
while (j > length * step && step >=-5 && step <0 && length>0 && length<=10) {
sb.append(j + " ");
j = j + step;
}
return (toString().trim());
};
}
При проверке программа выдает:
Excepted: 0, 2, 4, 6, 8
Actual: while@6ae58294
Подскажите, пожалуйста, что не так ?
comando
0 уровень
Оператор While
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Pavel KurashovExpert
15 ноября 2020, 16:30
ты возвращаешь адрес класса, а тебе скорей всего нужно вернуть строку которую ты зполнил. Если конкретно - смотри в оператор return - ошибка там
0
comando
15 ноября 2020, 17:18
Большое спасибо!
0