Problema para retornar dois valores em uma função

Faça um programa que leia um vetor de 50 elementos inteiros e depois mostre o maior elemento digitado e sua posição no vetor. A resposta do método deverá ser do tipo caracter (String), pois contém duas informações em uma mesma resposta.

não estou conseguindo retornar o Índice do maior valor.

public class Atividade03 {
	static Scanner scan = new Scanner(System.in); 
	public static void main(String[] args) {
		int [] vet = new int [10];
		preencherVetor(vet);
		System.out.println("o meior numero é "+verificarMaior(vet));
		
	}
	
	static void preencherVetor(int [] v){
		for (int i=0;i<v.length;i++){
			System.out.println("Digite o "+(i+1)+"º número:");
			v[i]=scan.nextInt();
		}
	}
	static int verificarMaior(int [] v) {
		int maior = 0, posicao = 0;
		for (int i = 0;i < v.length; i++) {
			if (maior < v[i]) {
				maior = v[i];
			}
			posicao ++;
		}
		return maior;
		
		
	}
}

Opa, Boa noite. Você terá que definir o retorno do método como String, pois assim conseguira retornar dois valores. Exemplo:

static String verificarMaior(int[] v) {
    int maior = 0, posicao = 0;
    for (int i =0; i < v.lenght; i++) {
        if (maior < v[i]) {
	        maior = v[i];
	    }
	    posicao ++;    
    }
    return "Maior número: "+maior+"\nÍndice: "+posicao; 
}

Retorne apenas o índice, e dentro do método main, pegue o item do array usando esse índice.

int indice = verificarMaior(vet)
int maior = vet[indice];
System.out.println("o maior numero é " + maior + ", e está na posição " + indice);
1 curtida

Apesar de ser mais correto que o pedido, parece-me que não é esse o objectivo do exercício:

Se bem que ou é char ou é String, não as duas coisas :slight_smile:

1 curtida