JavaJutsu: funciones estáticas

El programa para jugar a piedra papel tijera:

/**
 * @(#)PiedraPapelTijera.java
 *
 *
 * @author  
 * @version 1.00 2012/1/30
 */
 
 import java.util.Random;
 import java.io.*;
 
public class PiedraPapelTijera {
      
    /**
     * log
     * Muestra por consola un string
     * lo hacemos para simplificar la llamada a System.out.println
     * en el resto de funciones
     * @param String msg
     */
    public static void log(String msg) {
        System.out.println(msg);
    }
    
    /**
     * solicitarUsuario
     * Solicita al usuario y número y lo convierte a entero
     * @return int
     */
    public static int solicitarUsuario() {
        Console consola = System.console();
        int resultado = 0;
        String linea = "";
        
        log("Dame algo:\n 1.Piedra\n 2.Papel\n 3.Tijera");
        linea = consola.readLine();
        resultado = Integer.parseInt(linea);
        return resultado;
    }
       
    /**
     * maquinaDecideSigno
     * Genera un número aleatorio entre 1 y 3
     * muestra el nombre del signo escogido
     * @return int
     */
    public static int maquinaDecideSigno() {
            Random random = new Random();
            int signo = 0;
            // Creamos un array de nombres de signos
            // para poder mostrar qué signo saca la máquina
            String nombreSignos[] = {"","Piedra","Papel","Tijera"};
            signo = random.nextInt(3) + 1;
            
            log("La máquina saca "+ signo+ " es decir: " + nombreSignos[signo]);
            
            return signo;
    }
 
 
    /**
     * decidirGanardor
     * Decide quién gana:
     *  0: empate
     *  1: humano
     *  2: máquina
     * @param int humano
     * @param int maquina
     * @return int
     */
    public static int decidirGanardor(int humano, int maquina) {
        int resultado = 0;
        switch (humano)
        {
        case 1: log("Tú has elegido Piedra");
                switch (maquina)
                {
                    case 1: resultado = 0;
                    break;
                    case 2: resultado = 2;
                    break;
                    case 3: resultado = 1;
                    break;
                }
            break;
        case 2: log("Tú has elegido Papel");
                switch (maquina)
                {
                    case 1: resultado = 1;
                    break;
                    case 2: resultado = 0;
                    break;
                    case 3: resultado = 2;
                    break;
                }
            break;
        case 3: log("Tú has elegido Tijera");
                switch (maquina)
                {
                    case 1: resultado = 2;
                    break;
                    case 2: resultado = 1;
                    break;
                    case 3: resultado = 0;
                    break;
                }
            break;
        }
        
        return resultado;
    }
     
 
 
 
 
 
 
 
    public static void main(String args[])
    {
    String lectura = "";
    int jugadah, jugadam, resultado;
    int jugador, maquina;
 
 
    
    // Inicializo todos a la vez
    // qué pro que soy
    jugador = maquina = jugadam = jugadah = resultado = 0;
    
    do {
        jugadah = solicitarUsuario();
    
        jugadam = maquinaDecideSigno();
    
        resultado = decidirGanardor(jugadah, jugadam);
    
        if (resultado == 1 ) {  
            log("Ganas la ronda");
            jugador++;
        } else if (resultado == 2) {  
            log("Pierdes la ronda");
            maquina++;
        }
 
        log("Tú: " + jugador + " Com:" + maquina+"\n\n");
    
    } while (jugador<3 && maquina<3);
    
    if (jugador > maquina) {
        log("Excelent work");
    }
    else {
        log("n0000000b");
    }
    
    log("Winners don't use drugs");
    
    
    }
}