#java
#java
Вопрос:
Я хочу получить этот результат, где _ пробелов :
*___*
_*_*_
__*__
public static void main(String args[]) {
int level = 2; // quantity line
int stars = 5; //quantity drawing stars
for(int i = 1;i <= level ; i ){
for(int j =1 ;j <= i; j ){
System.out.print(" ");
}
System.out.println("*");
}
}
До сих пор я рисовал,
*__
_*_
__*
И я не знаю, как рисовать?
Комментарии:
1. Вы не можете «рисовать». Печать на консоль — это линейный процесс в Java, и поэтому вы должны распечатать
*___*
перед началом следующей строки. Вернуться к этому позже снова невозможно.2. как сказал @OHGODSPIDERS, вы должны подумать заранее и подсчитать, сколько звездочек и пробелов вам понадобится, прежде чем (или во время) выводить их на экран
3. Большое спасибо, ребята.
Ответ №1:
Шаги для решения вопросов такого типа:
- считайте * как 1, а пробелы как 0. Теперь мне нужен этот вывод :
10001
01010
00100
- первый 1 отображается в соответствии с номером строки. Строка 0 — 1 в Col 0, строка 1 — 1 в Col 1
- Появляется второй 1 (всего столбцов-индекс текущей строки-1)
- выведите 1 для вышеуказанных двух условий, в противном случае ноль.
int rows=3; // quantity line
int cols=5; //quantity drawing stars
for(int i=0;i<rows;i )
{
for(int j=0;j<cols;j )
{
int k=cols-i-1;
if(i==j || j==k)
System.out.print("*");
else System.out.print(" ");
}
System.out.println();
}
Ответ №2:
int size=10; // Only one parameter is required which is quantity drawing stars
int length= size%2==0?size/2:size/2 1; // in case of odd one more line need to be print at last on which one Asteric appears.
for (int i = 0; i < length; i ) {
for (int j = 0; j < size; j ) {
if (i == j || i j == size - 1) { //condition for diagonals
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
Вывод :
когда размер = 10;
* *
* *
* *
* *
**
когда размер = 11
* *
* *
* *
* *
* *
*
Ответ №3:
Вы можете попробовать приведенный ниже код, и результат будет таким, какой вы хотите..
for(int i=3;i>=1;i--)
{
for(int j=i;j<3;j )
{
System.out.print(" ");
}
for(int j=1;j<=(2*i-1);j )
{
if(j==1 || j==(2*i-1))
System.out.print("*");
else
System.out.print(" ");
}
System.out.println("");
}