Duvidas com instanciação

3 respostas
van_bommel

Iae pessoas estou com algumas duvidass.se alguem poder me aajudar a entender

public class Avestruzes
{
	private int tempos[];
	// duvida aqui qual a real necessidade disso ?
              // não poderia ser so .. int [ ] tempos = new int [10];
	public Avestruzes(int tempos[])
	{
		this.tempos = tempos;
	}
	
	public int indicePrimeiroColocado()
	{
		int menorTempo = tempos[0];
		int indiceMenorTempo = 0; 
		
		for (int i = 1; i < tempos.length; i++)
		{
			if (tempos[i] < menorTempo)
			{
				menorTempo = tempos[i];
				indiceMenorTempo = i;
			}
		}
		
		return indiceMenorTempo;
	}



import javax.swing.*;

public class ex37
{	  
   public static void main(String args[])  
   {
      String aux;
      int array[]= new int [15];
                              // obj se cria assim qdo tem construtor duvidaa ???
		Avestruzes objAvestruzes;
   
      for (int i = 0; i < array.length; i++)
      {            
//duvida essa String    """ Avestruzes    """ chama algooo ?                                       
         aux = JOptionPane.showInputDialog(null, " Informe tempo do Aveztruz do índice " + i, " Avestruzes " , JOptionPane.QUESTION_MESSAGE);
         array[i]= Integer.parseInt(aux);
      }
		// duvida aquiiii ~;não entendii  ..não poderia ser assim :

//NOmeDaclasse obj = new NOmeDaclasse ();
		objAvestruzes = new Avestruzes(array);
                                     // essa variavel aux armazena respostaa tambéem ? 
		aux = "Índice do Primeiro colocado: " + objAvestruzes.indicePrimeiroColocado() + "\n\n";
aux = aux + "Índice do Segundo colocado: " + objAvestruzes.indiceSegundoColocado() + "\n\n" ;
		aux = aux + "Diferença entre o Primeiro e o Último: " + objAvestruzes.diferencaDoPrimeiroAteUltimo() + " segundos";

3 Respostas

A

3. private int tempos[]; 4. // duvida aqui qual a real necessidade disso ? 5. // não poderia ser so .. int [ ] tempos = new int [10];
Dê uma pesquisada sobre variáveis de instância para entender a real necessidade disto…

38. // obj se cria assim qdo tem construtor duvidaa ??? 39. Avestruzes objAvestruzes; 47. // duvida aquiiii ~;não entendii ..não poderia ser assim : 48. 49. //NOmeDaclasse obj = new NOmeDaclasse ();

Existem duas formas de criar um objeto:

NomeDaClasse obj;
obj = new NomeDaClasse ();

ou

NomeDaClasse obj = new NomeDaClasse ();

O efeito é o mesmo.

43. //duvida essa String """ Avestruzes """ chama algooo ? 44. aux = JOptionPane.showInputDialog(null, " Informe tempo do Aveztruz do índice " + i, " Avestruzes " , JOptionPane.QUESTION_MESSAGE);

“Avestruzes” não chama nada… O terceiro parâmetro do ShowInputDialog - salvo engano - é o título da janela de diálogo.

lina

Oi,

Segue.:

public class Avestruzes
{
	// Cria um vetor de inteiro sem inicializa-lo. Pq? pq vai ser inicializado por meio do construtor.
	// Isso irá fazer com que a variavel tempos não tenha um valor unico fixado.
	private int tempos[];
	
	public Avestruzes(int tempos[])
	{
		// Inicializa o vetor tempos de acordo com o parametro passado.
		this.tempos = tempos;
	}
	
	public int indicePrimeiroColocado()
	{
		int menorTempo = tempos[0];
		int indiceMenorTempo = 0; 
		
		for (int i = 1; i < tempos.length; i++)
		{
			if (tempos[i] < menorTempo)
			{
				menorTempo = tempos[i];
				indiceMenorTempo = i;
			}
		}
		
		return indiceMenorTempo;
	}



import javax.swing.*;

public class ex37
{	  
   public static void main(String args[])  
   {
      String aux;
      int array[]= new int [15];
	
	// Cria um objeto da classe Avestruzes sem instancia-lo. Provavelmente irá instancia-lo em outro local + apropriado.
	Avestruzes objAvestruzes;
   
      for (int i = 0; i < array.length; i++)
      {            
	 // A String "Avestruzes" do terceiro parametro será o titulo da janela.
         aux = JOptionPane.showInputDialog(null, " Informe tempo do Aveztruz do índice " + i, " Avestruzes " , JOptionPane.QUESTION_MESSAGE);
         array[i]= Integer.parseInt(aux);
      }
		// Poderia, porém ele criou a variavel objAvestruzes sem instanciala (Lembra?) ao fazer o código abaixo, ele
		// chamou o construtor passando como parrametro um array/vetor, com a ideia de inicializar o vetor (tempos) da classe Avestruzes
		objAvestruzes = new Avestruzes(array);
                
		// A Variavel 'aux' receberá o resultado do método indicePrimeiroColocado() chamado da classe Avestruzes com o seguinte comando.: objAvestruzes.indicePrimeiroColocado()
		aux = "Índice do Primeiro colocado: " + objAvestruzes.indicePrimeiroColocado() + "\n\n";
aux = aux + "Índice do Segundo colocado: " + objAvestruzes.indiceSegundoColocado() + "\n\n" ;
		aux = aux + "Diferença entre o Primeiro e o Último: " + objAvestruzes.diferencaDoPrimeiroAteUltimo() + " segundos";

Tchauzin!

van_bommel

perfeito Linaa…

entenddii tudoo.

Criado 11 de agosto de 2009
Ultima resposta 11 de ago. de 2009
Respostas 3
Participantes 3