Pojeto fatorial

Bom dia, preciso de uma ajuda com um código que fiz pra fatorar.
Exemplo: Da forma que está na tela se eu fatorar o número 5 ele aparece pra mim:
Realidade:
1x5x4x3x2x1 = 120 (como eu faço pra não aparecer o 1x do começo)

Esperado :
5x4x3x2x1 = 120

segue código que digitei a baixo:

private void spinNumStateChanged(javax.swing.event.ChangeEvent evt) {
// TODO add your handling code here:
int n = (Integer.parseInt(spinNum.getValue().toString()));
int f = 1;
int c = n;
String d = “1”;
while (c >= 1){
d += " x " + c;
f *= c;
c–;
}
lblRes.setText(Integer.toString(f));
lblFat.setText(d);
}

Desde já agradeço!

Você pode começar por este trecho, alterando para

String print = ""; //Dê nomes claros às variáveis

Depois, terá de arrumar este trecho

Pois, retirando o “1” do início, ficará

x5x4x3x2x1=

E não é o que você quer.
Logo, terá de colocar uma validação, para certificar-se que não é a primeira iteração.

Sua String já está começando com “1” e depois vc vai adicionando o “x” mais o número.
Precisa fazer o contrário, começa “” vazio e vai adicionando o número + "x"
Ou começa com o num digitado.

Se eu fizer isso fica assim amigo: x5x4x3x2x1=120
Isso que não to sabendo arrumar, pra começar com o 5.

Desculpa a ignorância mas é que comecei agora na linguagem, como eu arrumaria a “iteração” que você diz?

Se eu fizer isso fica assim amigo:
x5x4x3x2x1=120

Esqueceste de ler isso q ele falou.

faz:
String d = n+“x”;
E no laço faz um if (c!=n)

1 curtida