У меня возникают проблемы с циклами. У меня есть задача распечатать алмаз с 2 входными переменными: 1) Целое число для представления количества строк/максимальное число символов в середине 2) Символьный шрифт: Код псевдонауки: 7 = int $ = char Программа должна печатать (и учитывать пробелы с левой стороны): http://pastebin.com/cspgz3bAВ то время как петли рисуют бриллианты
Мои циклы while - это беспорядок, кажется. Сейчас они печатают (* моделировать пространства): http://pastebin.com/cspgz3bA
Я обнаружил, что разделение алмаз на два треугольника (верхний & ниже), чтобы быть самым простым способом решения этого, однако мой код, кажется, полная фигня ...
EDIT :: Это только для верхней половины треугольника, поэтому (rows/2) +1 - это значит остановиться после окончания средней строки.
rows = integerInput;
maxSpace = integerInput;
while (currentRow <=((rows/2)+1)) {
spaceReq = ((maxSpace -1)/2); // determines spaces required
while (spaces < spaceReq) {
System.out.print("*");
spaces++;
}
while (charPrinted < charReq){
System.out.print(charInput);
charPrinted++;
}
currentRow++;
maxSpace--;
charReq = charReq +2;
System.out.println("");
}
Может кто-нибудь указать, почему это работает для 1-й итерации, но разбивается на следующие?
Спасибо!
Вы хотели бы опубликовать более полный код? входы/выходы? В идеале, отправьте сообщение SSCCE http://sscce.org –
Извините, я должен был это сделать - jpm получил ответ, который я искал без него, хотя :) – Numpty