public class Main
{
public static void main(String[] args) {
for (int linha = 0 ; linha < 10 ; linha++ ){
for(int coluna = 10 ; coluna > linha ; coluna--){
System.out.print(" • ");
}
System.out.println();
}
}
}
Explicação do primeiro for:
for (int linha = 0 ; linha < 10 ; linha++ )
A primeira declaração é em quanto a linha vai começar:
int linha = 0
Por exemplo se eu declarar o int como 5 e a próxima condição for
linha < 10
Ele só irá imprimir somente 5 linhas, pois foi declarado que ele começa com 5, porém se for declara-lo como 0, ele irá ter 10 linhas
Sempre que voltar no loop e ainda for menor do que 10, ele irá adicionar mais uma linha com o incremento:
linha++
** Explicação do segundo for:**
for(int coluna = 10 ; coluna > linha ; coluna--)
Este segundo for serve para as colunas, diferente da linha a cada vez que ela se repetir irá excluir ou adicionar um pontinho na frente do outro, depende da terceira decisão que é chamada de incremento ou decremento.
Neste foi utilizado o decremento para que fosse feito o triângulo invertido:
coluna--
Declarado o numero inteiro como 10 porque sempre que ele cair na segunda condição booleana, não será verdadeiro e terá que ser repetido até que 10 (é a coluna que foi declarada) > (maior) que o número da linha.
int coluna = 10
Então a lógica é: 10 é > 1? Não! Logo ele irá rodar de novo e sempre que rodar ele tira um pontinho e pula uma linha.
Se tiver algo de errado com a lógica ou o código, vocês podem me ajudar ou dar alguma dica =D