Duvida quanto ao "return"

[code]import java.util.Random;
import java.util.Scanner;

public class Sena extends Jogo
{

private int x;
private int r[] = new int [6]; //array dos numeros recebidos.
private int a[] = new int [6]; //array dos numeros aleatorios.



/**
 *metodo para receber o jogo do usuario
 * 
 * @param  y   a sample parameter for a method
 * @return     the sum of x and y 
 */
public int receber()
{
    int i;
    for (  i = 0; i <=6; i++ )
    {
        System.out.println (" Digite um numero entre 0 e 60: ");
        Scanner input = new Scanner ( System.in );
        r[i] = input.nextInt();
        if (( r[i] < 0 ) && ( r[i] > 60 ))
        { 
            while (( r[i] < 0 ) || ( r[i] > 60 ))
            {
                System.out.println("Numero inválido, digite um numero entre 0 e 50:  ");

                r[i] = input.nextInt();
            }
        }
   
    System.out.print("Seu jogo é: ");
    for (  i = 0; i <=6; i++ )
     System.out.print(r[i] );
    }
    return  r[];

}//metodo para receber o jogo do usuario.


public int aleatorio(int [] a)
{
     Random randomNumbers= new Random(60);
     System.out.print("Numeros sorteados: ");
     for(int i=0; i >= 6; i++  )
     {
         a[i] = 1 + randomNumbers.nextInt(6); 
         System.out.println(a[i]);
        
     }      

     return;
   }//classe para gerar numeros aleatorios

 public int resultado(int [] a,int[] r)
 {
    int acertos = 0;
   for(int i = 0; i >= 6; i++ )
   {
         for(int j=0; j >= 6; j++ )
         {
             if (a[i]==r[j])
                acertos++;
            
            }
    
    } 
       
        
   
        
        
    return acertos;
    }//classe para gerar o resultado

}

  [/code]

ta dando erro de compilação :“missing return value”

e eu acredito q eu deveria retornar os arrays, mais quando eu coloco eles da erro tb, alguem poderia me ajudar :confused:

Perceba:

  • o método aleatorio deveria retornar o que, mas o que ele realmente retorna?
  • será que o retorno do método receber está correto?

Até!

é exatamente nisso q eu estou me batendo :confused:

Não adianta eu dar a resposta, precisa um pouco de atenção.
Olhe a assinatura do método receber:

public int receber()  

E olhe o que você retorna:

return  r[]; 

Tem CERTEZA que r é do inteiro ( você comentou no seu código! )

Agora, olhe o método aleatorio:

public int aleatorio(int [] a) 

e veja o retorno:

return;

:frowning:

certo, entendi onde vc esta querendo chegar, no caso o metodo teria q retornar um inteiro, mais o o que eu nao entendo é: e se eu quiser retornar o array, comoé q eu faço? pq eu tentei ele como objeto, e como inteiro, como argumento e nao consegui, e pelo q eu entendi de void, nao se aplica a esses metodos pq eles vão ter q retornar valores, mais eu nao sei como… :confused:

retornar array de int?

[code]public int[] metodoQueRetornaArrayDeInt()
{
int[] array = new int[10];

// seu código aqui

return array;
}[/code]

No caso, isso seria em alguma ocasicao em que dentro do metodo tu decidiria se iria retornar um array de int, ou so um int?
Porque se for assim, tu poderia fazer aquilo que tu tentou mesmo, declarar o metodo como retornando um Objeto.
Para isso, retorne um Integer. Algo assim:

public Object retornaIntOuArray(boolean retornaArray) {
     if(retornaArray)
          return new int[10];
     else 
          return new Integer(9);

}

gente, muito obrigada pela ajuda. :smiley: