#java
#java
Вопрос:
У меня возникла проблема с рисованием квадратного ASCII с ограничением размера в 20 символов (размер «квадрат»), это мой код, я протестировал, и он работает, но когда я набираю число больше 20, отображается ошибка, пожалуйста, помогите, спасибо.
class Main {
public static void printSquare(int size) {
int line = 1;
while (line <= size) { // For each line of square
int width = size; // width of square segment
int i = 1; // display square segment
while (i <= width amp;amp; size <= 20) {
System.out.print("*");
i = i 1;
}
System.out.println(); // Newline
line = line 1;
}
}
}
Комментарии:
1. @MeenaO — проверьте эти вопросы и ответы.
Ответ №1:
Проблема в том, что вы никогда не будете печатать *
, если размер больше 20. Лучшим способом ограничить его до 20 было бы ограничить размер перед циклом.
public static void printSquare(int size) {
if(size > 20) {
size = 20;
}
int line = 1;
а затем редактировать
while (i <= width amp;amp; size <= 20) {
Для
while (i <= width) {
Комментарии:
1. спасибо, но я имею в виду отображать * в 0, когда значение size больше 20, поэтому я изменяю их на: public static void printSquare( int size ) { if ( size >= 20 amp;amp; size >= 0) { size = 0; } int line = 1;
2. Хорошо. Это не было четко указано, и, следовательно, мой ответ, в следующий раз постарайтесь предоставить немного больше информации 🙂 И, кстати, вы принимаете это как ответ, отмечая контур слева от ответа.