Galera, fiz um algoritmo pra ler um losango em asteriscos. Porém, cada vez que o usuário digitar "n" o losango deve mudar de tamanho, e quanto maior foi o "n", maior o losango. Para n=5 funciona, mas pra outros números o losango se deforma. Tentem mecher no código e arrumar pra mim, por favor, já tentei de tudo
import javax.swing.*;
public class Figura {
public static void main(String args[]) {
int i;
int k;
int n = Integer.parseInt(JOptionPane.showInputDialog("Qual o valor de 'n'?"));
for(i=n; i>=1; i--){
for(k=1; k<i; k++){
System.out.print(" ");
}
System.out.print("*");
for(k=-i-1; k>=i-n*2; k--){
System.out.print(" ");
}
if(k==-i-1){
System.out.println(" ");
}
else
System.out.println("*");
}
for(i=1; i<=n-1; i++){
System.out.print(" ");
for(k=1; k<i; k++){
System.out.print(" ");
}
System.out.print("*");
for(k=-i*3; k>=-i-n*1-2; k--){
System.out.print(" ");
}
if(k==-i*3){
System.out.println(" ");
}
else
System.out.println("*");
}
}
}