Não sei bem ao certo, mas tente fazer estas alterações:
package Prova;
import java.util.*;
public class Questao1 {
public static void main(String[] args) {
recebeDados();
}
public static void recebeDados(){
Scanner sc = new Scanner(System.in);
int idade[]= new int[2];
String sexo[]=new String[2];
for(int i=0;i<sexo.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
maiorIdade(idade);
}//fim dometodo recebeDados
public static void maiorIdade(int idade){//Este método recebe um arrayList de inteiros e não um valor inteiro
int maior=idade[0];
int menor= idade[0];
for(int i = 0; i <idade.length; ++i){
if(idade > maior){
int aux = maior;
maior = idade;
idade = aux;
}
if(idade < menor){
int temp = menor;
menor = idade;
idade = temp;
}
}
imprimeDados(maior, menor);
}
public static void imprimeDados(int maior, int menor){
System.out.println("A maior idade é: " + maior);
System.out.println("A menor idade é: " + menor);
}
}
Agora quanto a metódo estático Math eu não sei dizer se está correto, nunca o usei em java!
Não sei bem ao certo, mas tente fazer estas alterações:
package Prova;
import java.util.*;
public class Questao1 {
public static void main(String[] args) {
recebeDados();
}
public static void recebeDados(){
Scanner sc = new Scanner(System.in);
int idade[]= new int[2];
String sexo[]=new String[2];
for(int i=0;i<sexo.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
maiorIdade(idade);
}//fim dometodo recebeDados
public static void maiorIdade(int idade){//Este método recebe um arrayList de inteiros e não um valor inteiro
int maior=idade[0];
int menor= idade[0];
for(int i = 0; i <idade.length; ++i){
if(idade > maior){
int aux = maior;
maior = idade;
idade = aux;
}
if(idade < menor){
int temp = menor;
menor = idade;
idade = temp;
}
}
imprimeDados(maior, menor);
}
public static void imprimeDados(int maior, int menor){
System.out.println("A maior idade é: " + maior);
System.out.println("A menor idade é: " + menor);
}
}
Agora quanto a metódo estático Math eu não sei dizer se está correto, nunca o usei em java!
continua dando o mesmo´problema
Tente estas alterações! Espero poder ter ajudado![/quote]
Mas claro voce está passando maiorIdade( idade[0]) vai imprimir apenas a primeira idade, se passar maiorIdade( idade[1]) irá imprimir o segundo indice do array. Voce tem que passar o array inteiro tipo tanto na chamada do método “maiorIdade(idade)” quanto no método chamado public static void maiorIdade(int idade[]){
Mas claro voce está passando maiorIdade( idade[0]) irá imprimir apenas o primeiro indice do array idade[0], ou seja, a primeira idade. Se passar maiorIdade( idade[1]) irá imprimir o segundo indice do array idade[1], ou seja, a segunda idade. Voce deve passar o array inteiro tipo tanto na chamada do método “maiorIdade(idade[])” quanto no método chamado “public static void maiorIdade(int idade[]){”
[quote=Danielrricci]Mas claro voce está passando maiorIdade( idade[0]) irá imprimir apenas o primeiro indice do array idade[0], ou seja, a primeira idade. Se passar maiorIdade( idade[1]) irá imprimir o segundo indice do array idade[1], ou seja, a segunda idade. Voce deve passar o array inteiro tipo tanto na chamada do método “maiorIdade(idade[])” quanto no método chamado “public static void maiorIdade(int idade[]){”
tenta ao invéz de fazer a chamada imprimeDados(maior,menor), apenas colocar dentro do método public static void maiorIdade(int idade){ o System.out.println("A maior idade é: " + maior); para ver se o erro está na passagem de parâmetro! Se imprimir é pq o parâmetro recebido pelo método maiorIdade(int idade[]) está incorreto.