osk 0 Denunciar post Postado Maio 4, 2009 Sou iniciante em java e tenho que criar uma função para calcular pontos entres competidores para saber quem foi o ganhador, isso inclui mais de 3. acredito que tenho que criar uma formula de comparação de calculo e depois de resposta mas não sei como comparar. Parei aqui: import java.util.Scanner; public class pontos { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub float competidor1,competidor2, competidor3; Scanner teclado = new Scanner(System.in); System.out.println("Quais os pontos dos compedidores?"); competidor1=teclado.nextFloat(); competidor2=teclado.nextFloat(); competidor3=teclado.nextFloat(); } } Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Maio 5, 2009 Exemplo(não sei se tá funcionando 100%): import java.util.Scanner; import java.util.List; import java.util.ArrayList; public class Main { public static void main(String[] args) { System.out.println("Digite os valores(\"sair\" para sair):"); List<Float> competidoresValues = new ArrayList<Float>(); Scanner sc = new Scanner(System.in); String str = ""; while(true){ str = sc.nextLine(); if(str.compareTo("sair") == 0){ break; } else { try { competidoresValues.add(new Float(str)); } catch(NumberFormatException e){ continue; } } } System.out.println("Maior valor:" + maiorValor(competidoresValues)); } public static float maiorValor(List<Float> valores){ int size = valores.size(); int i; float maior = 0; for(i = 0;i < size;i++){ try { float current = valores.get(i); float next = valores.get(i+1); if(current >= next && current >= maior){ maior = current; } else if(next > maior){ maior = next; } } catch(IndexOutOfBoundsException e){ } } return maior; } } É uma das maneiras de implementar isso...e a minha função ficou um pouco extendida...mas tudo bem. Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
osk 0 Denunciar post Postado Maio 5, 2009 eibon funcionou 100% sim cara, muito obrigado, agora vou tentar entender as funções. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Tarantula 0 Denunciar post Postado Maio 26, 2009 Uma outra maneira mais simples: import java.util.*; public class Main { public static void main(String[] args) { System.out.println("Digite os valores ou [ENTER] para finalizar):"); List<Float> competidores = new ArrayList<Float>(); Scanner sc = new Scanner(System.in); String str = null; while(!(str = sc.nextLine()).equals("")) competidores.add(new Float(str)); System.out.println("Maior Valor: " + Collections.max(competidores)); } } Compartilhar este post Link para o post Compartilhar em outros sites