Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Zenfone 11 Ultra ha tantissime qualità interessanti, fra cui potenza da vendere, un display di primissimo livello, un comparto audio potente e prestazioni di connettività fra le migliori della categoria. Manca però dell'esclusività del predecessore, che in un settore composto da "padelloni" si distingueva per le sue dimensioni compatte. Abbiamo provato il nuovo flagship ASUS, e in questa recensione vi raccontiamo com'è andata.
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Abbiamo partecipato ad Appian World 2024, evento dedicato a partner e clienti che si è svolto recentemente nei pressi di Washington DC, vicino alla sede storica dell’azienda. Nel festeggiare il 25mo anniversario, Appian ha annunciato diverse novità in ambito intelligenza artificiale
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Primo contatto con il monitor Lenovo ThinkVision 3D 27 che grazie a particolari accorgimenti tecnici riesce a ricreare l'illusione della spazialità tridimensionale senza che sia necessario utilizzare occhialini
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-11-2007, 21: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


Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone' Recensione Zenfone 11 Ultra: il flagship ASUS ri...
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA Appian: non solo low code. La missione è ...
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini Lenovo ThinkVision 3D 27, la steroscopia senza o...
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
Sta per succedere! La prima gara a guida...
Parthenope: un nuovo RPG investigativo t...
Urbanista Malibu: ecco come va la cassa ...
Gas Station Simulator è costato 1...
AOC Graphic Pro U3, tre nuovi monitor pe...
Wacom Movink: per la prima volta il disp...
HPE Aruba presenta i nuovi access point ...
Lamborghini presenta Urus SE, prima vers...
Scuderia Ferrari e HP insieme: ufficiale...
Snapdragon X Plus, un nuovo SoC per i no...
L'iPad 10,9'' 64 GB è sceso a meno di 40...
Steam: basta ai furbetti dell'accesso an...
Motorola Edge 40 Neo con fotocamera da 5...
Arriva Kasperksy Next, la nuova gamma di...
Fallout, un successo senza fine: 1 milio...
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: 05:03.


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