Ad
Code
Diff
  • import java.util.regex.Pattern;
    
    public class Ranking{
      public static int getPoints(String[] matches, boolean isHomeMatch) {
        if(matches == null) return -1;
    		int points = 0;
    		if(matches.length!=10) {
    			return -1;
    		}
    		
    		for (int i = 0; i < matches.length; i++) {
          if(matches[i]==null) {
    				return -1;
    			}
          
    			if (!Pattern.matches("^[0-9]+[-]{1}[0-9]+$", matches[i])) {
    				return -1;
    			}
    
    			String[] actualMatch = matches[i].split("-");
    			if (!isHomeMatch) {
    				String aux = actualMatch[0];
    				actualMatch[0] = actualMatch[1];
    				actualMatch[1] = aux;
    			}
    
    			if (Integer.parseInt(actualMatch[0]) > Integer.parseInt(actualMatch[1])) {
    				points += 3;
    			} else if (Integer.parseInt(actualMatch[0]) == Integer.parseInt(actualMatch[1])) {
    				points += 1;
    			}
    			isHomeMatch = !isHomeMatch;
    		}
    		return points;
    	}
    }
    • import java.util.regex.Pattern;
    • public class Ranking{
    • public static int getPoints(String[] matches, boolean isHomeMatch) {
    • if(matches == null) return -1;
    • int points = 0;
    • if(matches.length!=10) {
    • return -1;
    • }
    • for (int i = 0; i < matches.length; i++) {
    • if(matches[i]==null) {
    • return -1;
    • }
    • if (!Pattern.matches("^[0-9]+[-]{1}[0-9]+$", matches[i])) {
    • return -1;
    • }
    • String[] actualMatch = matches[i].split("-");
    • if (!isHomeMatch) {
    • String aux = actualMatch[0];
    • actualMatch[0] = actualMatch[1];
    • actualMatch[1] = aux;
    • }
    • if (Integer.parseInt(actualMatch[0]) > Integer.parseInt(actualMatch[1])) {
    • points += 3;
    • } else if (Integer.parseInt(actualMatch[0]) == Integer.parseInt(actualMatch[1])) {
    • points += 1;
    • }
    • isHomeMatch = !isHomeMatch;
    • }
    • return points;
    • }
    • }
Code
Diff
  • import java.util.regex.Pattern;
    
    public class Ranking{
      public static int getPoints(String[] matches, boolean isHomeMatch) {
    		int points = 0;
    		if(matches.length!=10) {
    			return -1;
    		}
    		
    		for (int i = 0; i < matches.length; i++) {
    			if (!Pattern.matches("^[0-9]+[-]{1}[0-9]+$", matches[i])) {
    				return -1;
    			}
    
    			String[] actualMatch = matches[i].split("-");
    			if (!isHomeMatch) {
    				String aux = actualMatch[0];
    				actualMatch[0] = actualMatch[1];
    				actualMatch[1] = aux;
    			}
    
    			if (Integer.parseInt(actualMatch[0]) > Integer.parseInt(actualMatch[1])) {
    				points += 3;
    			} else if (Integer.parseInt(actualMatch[0]) == Integer.parseInt(actualMatch[1])) {
    				points += 1;
    			}
    			isHomeMatch = !isHomeMatch;
    		}
    		return points;
    	}
    }
    • import java.util.regex.Pattern;
    • public class Ranking{
    • public static int getPoints(String[] matches, boolean isHomeMatch) {
    • int points = 0;
    • if(matches.length!=12) {
    • if(matches.length!=10) {
    • return -1;
    • }
    • for (int i = 0; i < matches.length; i++) {
    • if (!Pattern.matches("^[0-9]+[-]{1}[0-9]+$", matches[i])) {
    • return -1;
    • }
    • String[] actualMatch = matches[i].split("-");
    • if (!isHomeMatch) {
    • String aux = actualMatch[0];
    • actualMatch[0] = actualMatch[1];
    • actualMatch[1] = aux;
    • }
    • if (Integer.parseInt(actualMatch[0]) > Integer.parseInt(actualMatch[1])) {
    • points += 3;
    • } else if (Integer.parseInt(actualMatch[0]) == Integer.parseInt(actualMatch[1])) {
    • points += 1;
    • }
    • isHomeMatch = !isHomeMatch;
    • }
    • return points;
    • }
    • }
Code
Diff
  • import java.util.regex.Pattern;
    
    public class Ranking{
      public static int getPoints(String[] matches, boolean isHomeMatch) {
    		int points = 0;
    		if(matches.length!=10) {
    			return -1;
    		}
    		
    		for (int i = 0; i < matches.length; i++) {
    			if (!Pattern.matches("^[0-9]+[-]{1}[0-9]+$", matches[i])) {
    				return -1;
    			}
    
    			String[] actualMatch = matches[i].split("-");
    			if (!isHomeMatch) {
    				String aux = actualMatch[0];
    				actualMatch[0] = actualMatch[1];
    				actualMatch[1] = aux;
    			}
    
    			if (Integer.parseInt(actualMatch[0]) > Integer.parseInt(actualMatch[1])) {
    				points += 3;
    			} else if (Integer.parseInt(actualMatch[0]) == Integer.parseInt(actualMatch[1])) {
    				points += 1;
    			}
    			isHomeMatch = !isHomeMatch;
    		}
    		return points;
    	}
    }
    • import java.util.regex.Pattern;
    • public class Ranking{
    • public static int getPoints(String[] matches, boolean isHomeMatch) {
    • int points = 0;
    • if(matches.length!=12) {
    • if(matches.length!=10) {
    • return -1;
    • }
    • for (int i = 0; i < matches.length; i++) {
    • if (!Pattern.matches("^[0-9]+[-]{1}[0-9]+$", matches[i])) {
    • return -1;
    • }
    • String[] actualMatch = matches[i].split("-");
    • if (!isHomeMatch) {
    • String aux = actualMatch[0];
    • actualMatch[0] = actualMatch[1];
    • actualMatch[1] = aux;
    • }
    • if (Integer.parseInt(actualMatch[0]) > Integer.parseInt(actualMatch[1])) {
    • points += 3;
    • } else if (Integer.parseInt(actualMatch[0]) == Integer.parseInt(actualMatch[1])) {
    • points += 1;
    • }
    • isHomeMatch = !isHomeMatch;
    • }
    • return points;
    • }
    • }

Se va a simular el estilo de puntuacion de una liga de futbol en la cual :

  • Si juegas en casa tus goles marcados se reflejan a la izquierda del guion.
  • Si juegas fuera tus goles marcados se reflejan a la derecha del guion.
  • Los goles encajados se reflejan en la parte contraria a los marcados eg;
    • {3-0} Partido en casa ganado 3 goles marcados.
    • {0-3} Partido fuera ganado 3 goles marcados.
    • {1-2} Partido en casa perdido 1 gol marcado 2 encajados.
  • Los partidos se deciden si son fuera o en casa mediante alternancia.
    • Uno fuera uno en casa ,dependiendo de el parametro booleano que se le pasa como parametro a la funcion.
    • El parametro pasado , si es true es que el primer partido se juega en casa , si es false fuera.
    • La sede de los partidos va alternando por cada partido que se juega , si empiezas en casa , el siguiente es fuera y
      despues se vuelve a casa .... Asi continuamente con todos los partidos que se juegan.
  • Cuidado por que puede ser pasada una lista de partidos incompleta con menos de 32 partidos jugados , para que una liga
    esté completa deben haberse jugado al menos 32 partidos para obtener el puntaje final del equipo.
  • La puntuacion será la siguiente :
    • 3 puntos si se gana el partido
    • 1 punto si se empata
    • 0 puntos si se pierde
  • Debes devolver los puntos que ha hecho el equipo a lo largo de la temporada

¡Buena suerte!

Code
Diff
  • public class Ranking{
      public static Integer getPoints(String[] matches) {
       return null;
      }
    }
    • public class Ranking{}
    • public class Ranking{
    • public static Integer getPoints(String[] matches) {
    • return null;
    • }
    • }