Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Nelle ultime settimane abbiamo provato la Corsair Vanguard Air 99 Wireless, una tastiera tecnicamente da gaming, ma che in realtà offre un ampio ventaglio di possibilità anche al di fuori delle sessioni di gioco. Flessibilità e funzionalità sono le parole d'ordine di una periferica che si rivolge a chi cerca un prodotto capace di adattarsi a ogni esigenza e ogni piattaforma
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
DEEBOT T90 PRO OMNI abbina un sistema di aspirazione basato su tecnologia BLAST ad un rullo di lavaggio dei pavimenti dalla larghezza elevata, capace di trattare al meglio le superfici di casa minimizzando i tempi di lavoro. Un robot completo che riesce anche ad essere sottile e garantire automazione ed efficienza nelle operazioni di pulizia di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-08-2008, 10:33   #1
DonDepo
Junior Member
 
L'Avatar di DonDepo
 
Iscritto dal: Aug 2008
Messaggi: 12
[JAVA] Cosa devo fare per...

Salve a tutti, vorrei chiedervi aiuto per risolvere questo problema. Ho 2 file di testo. Nel primo ho 2 colonne: la prima contiene numeri identificativi. La seconda contiene url. Anche nel secondo file ho 2 colonne: La prima contenente numeri identificativi corrispondenti a quelli del primo file, la seconda un punteggio. Come posso fare per ottenere un file di risultato contenete gli url con affianco il corrispondente punteggio?
DonDepo è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2008, 11:01   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da DonDepo Guarda i messaggi
Salve a tutti, vorrei chiedervi aiuto per risolvere questo problema. Ho 2 file di testo. Nel primo ho 2 colonne: la prima contiene numeri identificativi. La seconda contiene url. Anche nel secondo file ho 2 colonne: La prima contenente numeri identificativi corrispondenti a quelli del primo file, la seconda un punteggio. Come posso fare per ottenere un file di risultato contenete gli url con affianco il corrispondente punteggio?
Puoi iniziare con il leggere il secondo file, quello che contiene la associazione ID/punteggio. Carichi tutto in memoria, in una "map" (HashMap ad esempio) in modo che l'ID sia la chiave e il punteggio il valore.

Poi leggi il primo file, per ogni riga estrai ID e URL. Vai a cercare l'ID nella map per avere il punteggio, quindi scrivi (su un altro file) l'URL e il punteggio.

Questo a grandi linee. Poi per la lettura e la estrazione dei valori, chiaramente bisogna vedere meglio come sono fatti i file: le due colonne sono separate da un separatore?? O la prima colonna ha lunghezza fissa?? In quale charset sono scritti?

Per leggere "a righe" puoi usare BufferedReader, poi usi un qualche split o substring o regex (in base al formato) per estrarre i campi. Un valore numerico lo converti dalla stringa del campo con parseInt() di Integer. Anzi .. visto che l'ID lo devi avere come oggetto per poterlo mettere nella map, conviene usare valueOf().
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2008, 11:10   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Così su due piedi:
carichi le coppie ID - Url e ID - Punteggi in due HashMap.
Quindi usi i due HahMap sfruttando gli ID comuni per generare il nuovo file che conterrà gli Url e i punteggi.

Oppure metti in un HashMap solo le coppie ID-URL contenute nel primo file e praserizzi il secondo: per ogni ID associato a un Punteggio incontrato vai a recuperare nell'HashMap l'URL che ha come chiave lo stesso ID e scrivi la coppia URL-Punteggio su un nuovo file (o in una stringa in memoria e poi sostituisci i file o ci fai quel che ti pare)

@EDIT: scusa Andbin, mi sono "sovvraposto" per eccessiva latenza nell'editing del messaggio (sono stato interrotto e poi ho postato)
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 26-08-2008 alle 11:12.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2008, 11:22   #4
DonDepo
Junior Member
 
L'Avatar di DonDepo
 
Iscritto dal: Aug 2008
Messaggi: 12
Quote:
Originariamente inviato da andbin Guarda i messaggi
Poi per la lettura e la estrazione dei valori, chiaramente bisogna vedere meglio come sono fatti i file: le due colonne sono separate da un separatore?? O la prima colonna ha lunghezza fissa?? In quale charset sono scritti?
Guarda il file ID_Punteggio è cosi:

5 216.3400000000000034106051316
48 215.2700000000000102318153949
3 210.6800000000000068212102633
...
il file ID_URL è così:

NodeId Module
1 http://www.dmoz.org/Arts/Literature/...and_Folktales/
2 http://blog.dmoz.org/
3 http://search.dmoz.org/cgi-bin/search
...

Quote:
Originariamente inviato da andbin Guarda i messaggi
poi usi un qualche split o substring o regex
Onestamente non so di cosa stai parlando. Cosa intendi?
DonDepo è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2008, 12:15   #5
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Sembra che tra l'ID e il Punteggio o l'URL il delimitatore sia un semplice carattere di spazio.

In questo caso potresti usare in modo semplice la classe Scanner
Prova a darci un'occhiata.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2008, 08:56   #6
DonDepo
Junior Member
 
L'Avatar di DonDepo
 
Iscritto dal: Aug 2008
Messaggi: 12
Allora seguendo i vostri consigli uso la classe Scanner per acquisire ID e Punteggio dal file. Dopo di che cerco di inserire con "put" questi dati nell'HashMap ma non li inserisce!!!!!! Ho provato a fare questo:

HashMap hm = new HashMap();
File f = new File("IDPunteggio.txt");
Scanner s = new Scanner(f);
String key = s.next();
String punt = s.next();
System.out.println(hm.get(1));

Ho controllato ed effettivamente s.next() acquisisce i dati dal file. In cosa sbaglio?

Edit: niente ho risolto

Ultima modifica di DonDepo : 27-08-2008 alle 09:01.
DonDepo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Vibe coding nel mirino di Apple: ecco le...
Smart TV QLED 50'' a un super prezzo: 4K...
Horizon Worlds lascia i visori Quest: Me...
Lexar compie 30 anni e cambia le regole ...
Questo SSD fornisce memoria aggiuntiva a...
PlayStation Portal si aggiorna: arriva l...
Akamai, le API nel mirino dei cyber atta...
Spider-Man: Brand New Day, finalmente on...
La serie TV di Hitman è ufficialmente fe...
"Grazie e arrivederci": Sam Al...
Il CEO di Take-Two critica l'idea che l'...
Volvo EX60 dal vivo: spazio a volont&agr...
NVIDIA si unisce a Hyundai, Kia, Geely, ...
Apple a 50 anni: Tim Cook smentisce il r...
Dune: Parte 3, ecco il primo trailer. E ...
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: 16:39.


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