Thiago, boa noite!
Você precisa fazer um laço de repetição onde irá multiplicar todos os números, de 1 até o número desejado, de uma string para guardar a expressão, e de uma variável que vai guardar o valor final. Você pode fazer essa implementação:
public class MyClass {
public static void main(String args[]) {
int contador, auxiliar, fatorial;
StringBuilder fatorialExpressao = new StringBuilder("");
for(contador=1; contador<6;contador++){
fatorial = 1;
for(auxiliar=1;auxiliar<=contador;auxiliar++){
fatorialExpressao.append(Integer.toString(auxiliar));
if(auxiliar != contador)
fatorialExpressao.append('*');
fatorial *= auxiliar;
System.out.print(auxiliar +" ");
}
System.out.println();
System.out.println("fatorial("+contador+") = " + fatorial + " = "+fatorialExpressao.toString());
fatorialExpressao.setLength(0);
}
}
}
A classe StringBuilder é uma classe que nos ajuda a montar Strings, então cada vez que vamos multiplicar o número no fatorial juntamos ele na expressão, e caso ele não seja o ultimo adicionamos um asterisco representando a multiplicação.
Precisamos de uma variavel para guardar o valor do fatorial, de uma variavel que sera o nosso contador utilizado para ficarmos multiplicando o resultado, assim temos:
f(5) = 5 * f(4)
f(4) = 5 * f(3)
f(3) = 5 * f(2)
f(2) = 2 * f(1)
f(1) = 1
resultando em
f(5) = 5 * 24
f(4) = 4 * 6
f(3) = 3 * 2
f(2) = 2 * 1
f(1) = 1
Colocando apenas resultados temos:
f(5) = 5 * 4 * 3 * 2 * 1
Dica: Procure sobre recursão, é uma forma mais fácil de implementar funções assim, o fatorial por conta de ser uma expressão que o resultado depende dela mesma fica mais fácil de implementar.
Curiosidade fica a implementação da função fatorial recursiva:
public class MyClass {
public static int fatorial(int valor){
if(valor == 1 || valor == 0){
System.out.print("1");
return 1;
}
System.out.print(valor + " * ");
return fatorial(valor-1) * valor;
}
public static void main(String args[]) {
int contador, fatorial;
for(contador=5; contador>0;contador--){
fatorial = 1;
System.out.print("fatorial("+contador+") = ");
fatorial = fatorial(contador);
System.out.println(" = " + fatorial);
}
}
}
Que vai devolver
fatorial(5) = 5 * 4 * 3 * 2 * 1 = 120
fatorial(4) = 4 * 3 * 2 * 1 = 24
fatorial(3) = 3 * 2 * 1 = 6
fatorial(2) = 2 * 1 = 2
fatorial(1) = 1 = 1
Abraços!