Applet muito estrutural

3 respostas
R

Como eu poderia passar o array frequencia dentro de um método nessa applet para torná-la mais elegante?

import java awt.<em>;

import javax.swing.</em>;

public class PesoGauss extends JAppet {

String st,saida;

int peso,contador;

JTextArea AreaDeTexto;

int faixas={100,200,300,400,500};

int frequencia=new int[5];

public void init()

{

Container c=getContentPane();

areaDeTexto=newJTextArea912,20);

areaDeTexto.setFont(new Font(Courier,Font.PLAIN,12));

c.add(areaDeTexto);

saida="Frequencia

";
while(contador<=10) {

st=JOptionPane.showInputDialog(Entre com o peso);

peso=Iteger.parseInt(st);
for(int i=0;fi<faixas.length;i++) {

if(peso>faixas[i]&&peso<faixas[i+1])

++frequencia[i];

}

contador++;

}

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

saida+="

"+frequencia[i];

areaDeTexto.setTexto(saida);

}

]

3 Respostas

C

Se eu entendi, o que vc quer é passar uma referencia de array de inteiros em um metodo qualquer. Se for isso :

public class Foo{
         public Foo(){
               
              int [] arrayDeInt = new int[ 10 ];
              printArray( arrayDeInt );
         }
         
         private void printArray( int [] array )
         {
              for( int i = 0; i &lt; array.length ; i++ )
                   System.out.println( array[ i ] ); // vai imprimir 10 '0's
         }
    }

se não for isso por favor seja mais claro.
Claudio Gualberto.

R
Antes de fechar com a chave do método init eu chamaria o  método mostraResultado(int frequencia).Veja com eu fiz ,mas não funcionou.

}//termina for.

contador++;

}//termina while.

mostraResultado( frequencia);
}//termina init()

void mostraResultado(int array[])

{

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

saida+="

"+array[i];

}

areaDeTexto.setText(saida);

}fecha a applet.

Fiz diversas tentativas e falhou todas.Obrigado pela atenção.
R
Claudio .Resolvi o problema.

Após ++frequencia basta acrescentar:

++frequencia[i];

}//fecha for

contador++;

}//fecha while

mostra Resultado() //Não passa o array frequencia[]

}fecha //init

public void mostraResultado()

{

for(int i=0;i<frequencia.legth;i++)

saida+="

"+frequencia[i];

areaDeTexto.setText(saida);

}

Na verdade não é uma passagem de array por método.
Criado 2 de junho de 2003
Ultima resposta 3 de jun. de 2003
Respostas 3
Participantes 2