olá,
não é necessário passar o array do tipo String, que suponho ser o nome do produto, a não ser que você queira mostrar o seu nome:
//retorna-1casonãoencontreouocorraerro//ouretornaoindicodoprodutodemaiorvalorpublicintgetMax(String[]vet1,int[]vet2){//verificandosetodososprodutospossuemnomeevalorif(vet1.length!=vet2.length){return-1;}//oprimeiroelementoéomaioratéagoraintid_max=0;for(inti=1;i<vet2.length;i++){if(vet2[i]>vet2[id_max]){id_max=i;}}System.out.println("Produto de maior preço é "+vet1[id_max]);returnid_max;}
note que deve haver pelo menos um elemento nos vetores.
bons estudos
Att
F
Francisco_Freitas
O problema é o seguinte:
Tenho dois arrays: um tipo String contendo nome dos produtos e o outro tipo int contendo os preços dos produtos.
Tenho que determinar o nome e o preço do produto mais caro.
Como resolvo isto, utilizando um método? É possível passar como parametros dois arrays, um tipo string e o outro tipo int?
Pois tenho que retornar o maior preço e também o nome do produto. E o método permite que retorne apenas um valor.
Qual a melhor forma para se resolver?
Rafael_Marques1
se vc quiser trabalhar apenas com array, ou sempre que vc inserir um produto e um preço, vc coloca utilizando o mesmo indice, ou cria uma matriz de string contendo sempre o nome e o preço.
Se vc utilizar o mesmo indice, vc cria um método que retorne um int por exemplo, recebe os arrays (pode sim receber diferentes arrays por parametro), e retorna apenas o indice que está o produto que vc deseja.
Procure sobre Collections, que resolverá melhor o seu problema.
Adelar
Você retorna então no método o índice do vetor que possui o maior valor. Quando precisar da String e do valor do produto utilize o valor retornado pelo método para obtê-los. Segue um exemplo usando o método do meu post anterior:
// recebe dois vetores, um como os nomes dos produtos e outro com os valores
int retorno=getMax(nomes, valores);
System.out.println("O produto "+nomes[retorno]+" possui o valor "+valores[retorno]);
nel
Bom dia.
Já ouviu falar em HashMap? Eu diria que supri sua necessidade perfeitamente, sem falar que será muito simples de implementar.
Algo assim:
O primeiro atributo diz respeito a sua Key e o segundo a sua Value, quando quiser saber o valor de um produto basta buscar pela sua Key. Para saber o de maior valor, basta iterar pelo hash.
Dá para melhorar esta lógica, mas só quis exemplificar.
Abraços.
M
marcobiscaro2112
Lembre-se que Java é orientado a objetos e não a arrays. Para uma modelagem melhor crie uma classe Produto e depois crie um método que recebe um List de produtos e retorne o que tem maior preço entre eles (faça Produto implementar Comparable, use o método Collection.sort e retorne o último elemento da lista).
nel
Concordo plenamente marco. Até pensei em sugerir o Comparable mas dei uma ideia diferente. A classe produto contendo preço e depois extraindo o último elemento da Collection (após usar o .sort) torna-se simples e utiliza OO.
Bela dica.
Abraços.
E
enantiomero
Francisco Freitas:
Estou fazendo um programa que utiliza dois arrays. Um tipo string e outro tipo int.
Um contem os nomes de produtos e o outro seus preços.
Preciso determinar qual o produto de maior preço.
Como fazer isso num mesmo método, passando os dois arrays como parametros?
Dica: não use 2 arrays. Use apenas um array, contendo objetos.