necesito ayuda con un ejercicio sencillo de java [已关闭]

问题描述 投票:0回答:1

titulo del problema 需要注意的是,java 中的代码可能是错误的,但不会出现任何错误,请在我的销售页面中输入代码,但在销售页面上会出现错误。评估中的重要因素是,它与评估无关。 Agradezco mucho la ayuda。 他可能会在下一个地方将代码发送到下一个地方,并且不会出现任何错误,我认为这是最好的,需要在页面上接受代码

java arraylist methods
1个回答
-1
投票
import java.util.*;

公开课板球{

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    Map<String, Integer> resultado = new HashMap<>();
    String categoria;
    int partJugados;
    do {
        categoria = sc.nextLine();
        if (!categoria.equals("FIN")) {
            partJugados = addPuntos(resultado);
            calcularGanador(resultado, partJugados);
        }
    } while (!categoria.equals("FIN"));
}

public static int addPuntos(Map<String, Integer> resultado) {
    Scanner sc = new Scanner(System.in);
    String equipoCasa, equipoVisitante;
    int puntosCasa, puntosVisitante, partidos = 0;
    resultado.clear();
    do {
        equipoCasa = sc.next();
        if (!equipoCasa.equals("FIN")) {
            puntosCasa = sc.nextInt();
            equipoVisitante = sc.next();
            puntosVisitante = sc.nextInt();
            sc.nextLine(); 
            if (puntosCasa > puntosVisitante) {
                sumaPuntos(resultado, equipoCasa, equipoVisitante);
            } else {
                
            }
            partidos++;
        } else{
            sc.nextLine();
        }
    } while (!equipoCasa.equals("FIN"));
    return partidos;
}
  
public static void sumaPuntos(Map<String, Integer> resultado, String ganador, String perdedor) {
    
    if (resultado.containsKey(ganador)) {
        resultado.put(ganador, resultado.get(ganador) + 2);
    } else {
        resultado.put(ganador, 2);
    }
    if (resultado.containsKey(perdedor)) {
        resultado.put(perdedor, resultado.get(perdedor) + 1);
    } else {
        resultado.put(perdedor, 1);
    }
}

public static void calcularGanador(Map<String, Integer> resultado, int partJugados){
    int partFaltan = (resultado.size() * (resultado.size() - 1) - partJugados);
    String primero = "", segundo = "";
    int puntos1 = 0, puntos2 = 0;
    
    for (Map.Entry<String, Integer> entry : resultado.entrySet()) {
        String key = entry.getKey();
        Integer val = entry.getValue();      
        if (puntos1 < val) {
            primero = key;
            puntos1 = val;
        }
    }
    resultado.remove(primero);
    
    for (Map.Entry<String, Integer> entry : resultado.entrySet()) {
        String key = entry.getKey();
        Integer val = entry.getValue();
        
        if (puntos2 < val) {
            segundo = key;
            puntos2 = val;
        }
    }
    if (puntos1 == puntos2) {
        System.out.println("EMPATE " + partFaltan);
    } else {
        System.out.println(primero + partFaltan);
    }
}

}

© www.soinside.com 2019 - 2024. All rights reserved.