Vetor, (RESOLVIDO)

4 respostas
L

Estou com duvida na conclusão de um programa, com fatorial

public static void main(String[] args) {
     double e [] = new double [3];
     double r [] = new double [3];
     String snum,s= "";
     double num,fat,j;

     for (int i=0;i<e.length;i++)
     {
      snum = JOptionPane.showInputDialog("coloque o numero");
      num = Double.parseDouble(snum);
      e[i] = num;
     }

      for (int i=0;i<e.length;i++)
      {

          fat = e.length;

   for (j = e.length - 1; j >= 1; j--) {

   fat = fat * j;

podem mim ajudar???

4 Respostas

Clerius

Isso pode te ajudar

public class Main {
    
    private static int TAM_ARRAY=3;
    
    private static long fatorial(long num){
        if (num<=1)  return 1;
        else return (num * fatorial(num-1));
    }

    public static void main(String[] args) throws Exception {
        long mtrA[]=new long[TAM_ARRAY];
        long mtrB[]=new long[TAM_ARRAY];
        
        //le os elementos do array
        for(int i=0;i<mtrA.length;i++){
            mtrA[i]=Integer.valueOf(JOptionPane.showInputDialog("Insira o "+(i+1)+" valor:"));            
            mtrB[i]=Main.fatorial(mtrA[i]);
        }
        
        //exibe os dados
        for(int i=0;i<mtrA.length;i++){
            System.out.println(mtrA[i]+" => "+mtrB[i]);
        }
    }
}
L

Não está dando certo, se alguem tiver mais alguma ideia, agradeço.

ByIvo

Cara, da uma olhada nessa solução…
Se realmente for o fatorial que você deseja exibir, esta é a solução…
Não teste ele, então qualquer erro de digitação ou de lógica caberá à você corrigir, mas creio
que ele funcione perfeitamente.

int[][] a = new int[3][3], r = new int[3][3];
String msga="",msgb="";
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Informe o número da linha "+i+" e da coluna "+j));
r[i][j] = 1;
for(int c=a[i][j];c>=1;c--){
r[i][j] *= c; 
}
msga+=a[i][j]+" ";
msgb+=r[i][j]+" ";
}
msga+="\n";
msgb+="\n";
}
System.out.println("Original:\n"+msga+"\nFatorial do Original:\n"+msgb);
L

Muito obrigada Clerius, deu certo.

Criado 8 de junho de 2011
Ultima resposta 9 de jun. de 2011
Respostas 4
Participantes 3