[PiramideInvertida] [8] Faça o programa que apresenta a seguinte saída, perguntando ao usuário o número máximo (no exemplo, 9). Este número deve ser sempre ímpar. 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 3 4 5 6 7 4 5 6 5.
Alguém pode me ajudar?
intn;n=Integer.parseInt(JOptionPane.showInputDialog("Digite um número ímpar"));if(n%2==1){for(inti=1;i<=n;i++){mostra+=i+" ";}System.out.println(mostra+" "+m);}else{System.out.println("Não é ímpar");}
importjavax.swing.JOptionPane;publicclassPiramideInvertida{publicstaticvoidmain(String[]args){PiramideInvertidaprograma=newPiramideInvertida();programa.executar();}privatevoidexecutar(){intnumeroMaximo=Integer.parseInt(JOptionPane.showInputDialog("Digite um número ímpar"));if(numeroMaximo%2!=0){intmetade=(numeroMaximo+1)/2;for(intnumero=0;numero<metade;numero++){imprimeLinha(numero,numero+1,numeroMaximo-numero);}}else{System.out.println("Não é ímpar");}}privatevoidimprimeLinha(intespacos,intde,intate){imprimeEspacos(espacos);for(intnumero=de;numero<=ate;numero++){System.out.print(numero);}System.out.println();}privatevoidimprimeEspacos(intespacos){for(inti=0;i<espacos;i++){System.out.print(" ");}}}
A
anon629167171 like
Apenas para enriquecer a codificação sobre o tema uma vez que staroski apresentou muito bem a solução, tanto é que não “tendi” para fornecer ao usuário tudo o que foi solicitado.
packagelegals;publicclassCrisis{publicstaticvoidmain(String[]args){newCrisis().piramideInvertida(1,19);}privatevoidpiramideInvertida(intinicio,intfim){do{for(inti=inicio;i<=fim;i++){System.out.print(i+(i==fim?"\n":""));}for(inti=0;i<inicio;i++){System.out.print(" ");}/*inicio++ reduz o lado direito da coluna e atualiza o espaço fim-- reduz o lado esquerdo da coluna*/}while(inicio++<=fim--);}}