e só vai devolver apenas um valor mesmo!!! A chamada ao método maiorIdade(int x) só é chamado uma vez! Vc tem que colocá-lo dentro do laço do for, e passar como argumento a variavel i, pois se não ele nunca vai achar a maior idade já que vc passa o argumento o valor 0.
Mas mesmo assim existe um erro, pois na primeira vez que ele for chamado ele vai jogar como maior valor o primeiro valor do array.
tire o maiorIdade de dentro do metodo recebeDados();
tire o parametro idade de maiorIdade;
faça assim:
[code]public static void maiorIdade(){
int maior = idade[0];
for(int i = 0 ; i<idade.length; i++){
if(idade[i]>maior)
maior = idade[i]
}
System.out.println("idade maior "+maior);
}[/code]
Procure deixar suas funções realizando tarefas específicas. A recebe dados deveria só receber dados, e devolver os dados recebidos. A maior deveria pegar um conjunto de dados e devolver o maior. E a função imprime deveria imprimir. Suas funções não estão retornando nada.
public static int[] recebeDados(){
Scanner sc = new Scanner(System.in);
int idade[]= new int[2];
String sexo[]=new String[2];
for(int i=0;i<idade.length;i++){
System.out.println("Digite sua Idade");
idade[i]= sc.nextInt();
System.out.println("Digite seu sexo");
sexo[i]=sc.next();
}//fim do for
return idade;
}//fim dometodo recebeDados
public static void maiorIdade(int[] idades){
int maior = 0;
for (int idade : idades) {
if (idade > maior)
maior = idade; //Não é necessário o max. Você já sabe que idade > maior
}
return maior;
}
public static void imprimeMaiorIdade(int idade){
System.out.println("A maior idade é: " + idade);
}
[/code]
Ah sim, e ao criar tópicos, dê um tópico mais descritivo do que “Ajudaaaa”.