Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-11-2007, 22:59   #1
erkk84
Member
 
Iscritto dal: Dec 2006
Messaggi: 53
[Java] ordinamento classifica calcio

Ciao a tutti, devo fare un programmino che dato in input una cosa del genere:

4
Brazil
Norway
Morocco
Scotland
6
Brazil#2@1#Scotland
Norway#2@2#Morocco
Scotland#1@1#Norway
Brazil#3@0#Morocco
Morocco#3@0#Scotland
Brazil#1@2#Norway

dopo apposito parsing, mi dà in output una cosa del genere:

1) Brazil 6p, 3g (2-0-1), 3gd (6-3)
2) Norway 5p, 3g (1-2-0), 1gd (5-4)
3) Morocco 4p, 3g (1-1-1), 0gd (5-5)
4) Scotland 1p, 3g (0-1-2), -4gd (2-6)


Quindi ordinata per punteggio, in caso di parità per partite vinte, in caso per differenza goal.
Io ho scritto una cosa così per il momento:
Codice:
class Squadra implements Comparable<Squadra>{
    
    private String name;
    private int score;
    
    public Squadra(String name) {
        this.name = name;
        score= 0;
    }
    
    public String getName() {return name;}
    public int getScore() {return score;}
    public void setScore(int score) {this.score=score;}
    
    //Si mette il vincolo che ogni squadra abbia nome univoco.
    public int hashCode() {return name.hashCode();}
    public boolean equals(Object obj) {
        if(obj instanceof Squadra)
            return ((Squadra)obj).getName().equals(name);
        return false;
    }
    public String toString(){
        return name+" "+score+"p";
    }
    public int compareTo(Squadra s) {
        if(name.equals(s.getName()))
            return 0;
        int result = score-s.getScore();
        if(result==0)
            result = name.compareTo(s.getName());
        return result;
    }
}

 class Classifica {
    
    public HashMap map;
    public ArrayList squadre;
    
    
    public Classifica() {
        map  = new HashMap();
        squadre = new ArrayList();
    }
    
    public boolean add(String name) {
        if(map.containsKey(name)) {
            return false;
        }
        
        Squadra s = new Squadra(name);
        map.put(name, s);
        squadre.add(s);  
        return true;         
    }
    
    public boolean remove(String name) {
        if(!map.containsKey(name)) {
            return false;
        }
        Squadra s = (Squadra) map.remove(name);
        squadre.remove(s);
        return true;
    }
    
    public boolean addPoint(String name, int point) {
        if(!map.containsKey(name)) {
            return false;
        }
        Squadra s = (Squadra)map.get(name);
        s.setScore(s.getScore()+point);
        return true;
    }
    
    public int getScore(String name){
        Squadra s = (Squadra)map.get(name);
        return (s.getScore());        
    }
    
    public static void main(String args[]) {
        
        BufferedReader input;
        String in2,in3,in4,in5;
     
   Classifica clas = new Classifica();
                   
         try {
             System.out.println("Dammi il numero delle squadre: ");
        
             input = new BufferedReader(new InputStreamReader(System.in)); 
             
             in2 = input.readLine();
      
             System.out.println("Dammi i nomi delle squadre: ");
             
             for (int i=0;i<Integer.valueOf(in2);i++) {
             
                 in3 = input.readLine();
                 clas.add(in3);
            }
             
             System.out.println("Dammi il numero degli incontri: "); 
            
            in4 = input.readLine();
            
            System.out.println("Dammi gli incontri: ");
            
            for (int i=0;i<Integer.valueOf(in4);i++) {
                
                in5 = input.readLine();
                
                int g1 = in5.indexOf("#")+1;
                int g2 = in5.indexOf("@")+1;
                
              String goal1 = in5.substring(g1,g1+1);
              String goal2 = in5.substring(g2,g2+1);
                      
              if (Integer.valueOf(goal1)>Integer.valueOf(goal2)) {
                  clas.addPoint(in5.substring(0,g1-1),3); 
                  clas.addPoint(in5.substring(g2+2,in5.length()),0);
                }
              
              if (Integer.valueOf(goal1)<Integer.valueOf(goal2)) {
                  clas.addPoint(in5.substring(0,g1-1),0); 
                  clas.addPoint(in5.substring(g2+2,in5.length()),3);
                }
              
              if (Integer.valueOf(goal1)==Integer.valueOf(goal2)) {
                  clas.addPoint(in5.substring(0,g1-1),0); 
                  clas.addPoint(in5.substring(g2+2,in5.length()),0);
                    }
            }
         } catch (Exception ex) { }
    }
}
Praticamente mi sono bloccato sull'ordinamento;come faccio a ordinarli nella maniera sopraindicata?se poteste spiegarmi con del codice sarebbe ancora meglio..so che con le hashmap è impossibile fare un ordinamento epr valori, perciò bisognerebeb tirare fuori i valori in un'altra struttura e ordinare da li...ecco, a parole ho capito cosa bisogna fare ma non so da dove partire col codice..

garzie mille a tutti..ciao
erkk84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Corsair 4000D Vault Galaxy e Nova: color...
Amazfit T-Rex Ultra 2: lo smartwatch per...
AOC propone un QD-OLED al prezzo di un I...
AGCOM segnalerà la AI Mode di Goo...
L'Estonia porta ChatGPT in classe: firma...
2 nm giapponesi contro TSMC: il piano di...
Questa scopa elettrica Tineco iFLOOR 5 è...
FRITZ!Box 6825 4G sbarca in Italia a 129...
Red Hat presenta Digital Sovereignty Rea...
AMD Zen 6 'Olympic Ridge': sette configu...
Amazon batte Walmart dopo 30 anni: il so...
Digos nel mirino dell'intelligence cines...
Sony non vuole aumentare il prezzo della...
Energia geotermica: la (costosa) rispost...
MG ha già venduto 1 milione di au...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v