Passo a passo

1 resposta
O

pessoal sou novato em java e basicamente não sei nada ainda.
comprei o livro usando a cabeça da kathy sierra para começar,mas existem uns programinhas que não entendo bolufas…
sei que é assim mas acho que o nome desse livro deveria mudar"quebrando a cabeça"

o programa abaixo esta neste livro como exercicio,o que eu queira saber que diabos e esse count/counter/index e oque esse programa faz realmante.

“SE ALGUEM PUDER ME MANDAR UM PASSO A PASSO SOBRE CADA LINHA DE CÓDIGO EU AGRADEÇO”

public class Mix4 {
  int counter = 0;
   public static void main(String [] args) {
        int count = 0;
     Mix4 [] m4a = new Mix4[20];
      int x =0;
   
   while (x<20) {
       m4a[x] = new Mix4();
       m4a[x].counter = m4a[x].counter + 1;
         count = count +1;
       count = count + m4a[x].maybeNew(x);
          x = x+1;
     }
      System.out.println(count + " " + m4a[1].counter);
   } 
    
      public int maybeNew(int index) {
      
         if (index <5) {
           Mix4 m4 = new Mix4();
           m4.counter = m4.counter + 1 ;
           return 1;
      }
         return 0;
    }
}

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Carneiro[/color][/size] :joia:

1 Resposta

J

Cara depois manda o enunciado do exercicio, esses exercicios costumam ser pegadinhas

mais aí vai uma explicação, o código é meio sem lógica, (acho);

public class Mix4 { //cria uma classe 
  int counter = 0;  //cria uma variavel int 
   public static void main(String [] args) {
        int count = 0; 
     Mix4 [] m4a = new Mix4[20];  //cria um array de objetos do tipo Mix4 com 20 posições
      int x =0; //cria uma variavel int x
   
   while (x<20) { //faz um loop por 20 vezes
       m4a[x] = new Mix4();  //cria um objeto na posição x do array 
       m4a[x].counter = m4a[x].counter + 1; //atribui a variavel counter do array + 1
         count = count +1; //atribui + 1 a count
       count = count + m4a[x].maybeNew(x); // aqui ele pega o x, se ele for maior que 5 retorna 1 se não retorna 0
          x = x+1; //atribui + 1 a x para continuar o loop
     }
      System.out.println(count + " " + m4a[1].counter); //aqui ele imprime  o valor de count + um espaço e depois o valor da variavel counter do objeto de index 1 no array
   }
   
      public int maybeNew(int index) { //cria um método maybeNew com um parametro int
     
         if (index <5) { //se o parametro for menor que 5 ele faz
           Mix4 m4 = new Mix4(); //cria um objeto do tipo Mix4
           m4.counter = m4.counter + 1 ; // atribui + 1 a variavel counter do obj m4
           return 1; //retorna 1
      }
         return 0; //se o index não form menor que 5, retorna 0
    }
}
Criado 21 de fevereiro de 2007
Ultima resposta 21 de fev. de 2007
Respostas 1
Participantes 2