Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC
Abbiamo provato la Gigabyte Radeon RX 9070 GRE Gaming OC, nuova proposta RDNA 4 che si inserisce tra GeForce RTX 5060 Ti e RTX 5070. Prestazioni solide in rasterizzazione e ray tracing, frequenze elevate grazie all'overclock di fabbrica e raffreddamento efficace: ecco come si comporta nei nostri test.
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare
Con tripla lente, tracking sincronizzato, visione notturna a colori e controllo locale senza abbonamenti, la OMVI 3i WiFi porta la sicurezza domestica a un livello molto più moderno, ma senza trasformarla in un sistema complicato da installare o usare
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-12-2003, 17:58   #1
dnarod
Senior Member
 
L'Avatar di dnarod
 
Iscritto dal: Nov 2002
Messaggi: 4329
[java] macello con un es sulle mappe con oggetti....

mi è stato rifilato un es in cui devo scrivere un prog che tramite una mappa (Map o HashMap e uguale) gestisca i nomi degli studenti(kiavi) associati al loro voto(valori)....bisogna inserire, togliere, modificare e stampare il tutto e fin qui è una cazzatella ma ci sono cose che mi sfuggono:
1) la stampa la vuole ordinata per nome (sia chiavi che valori sono stringhe) e io non ho saputo pensare a come fare......ho provato a copiazzare e aggiustare malamente, diciamo sta roba qui:

-----------------------------------------------------------
private static void stampa(Map m)
{
Set keySet = m.keySet();
Iterator iter = keySet.iterator();
while (iter.hasNext())
{
Object key = iter.next();
Object value = m.get(key);
System.out.println(key + ": " + value);
}
}
-------------------------------------------------------------
ma non ho ancora il cervello per pensarmi a come fare ad accedere alle chiavi e stampare solo quelle (deve essere una stronzata pero ne sono sicuro)
la mia classe e cosi:
classe registrovoti{
main{
......
}
....
metodo stampa
}



2)l esercizio seguente dice di modificare il tutto in modo che ogni chiave sia un istanza di una classe studente (quindi un oggetto che contiene nome, cognome, id, ecc....).......e qui sorgono i problemi perche io mi faccio la mia stupidissima classe studente e mannaggia li pescetti non riesco manco a far funziare l aggiungi!!!! ecco la cagata che ho pensato:

---------------------------------------------------
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;
import java.util.Set;
/**
Classe Registro che serve per archiviare gli studenti e iloro voti
mediante una mappa; il registro permette di inserire, rimuovere
modificare e stampare studenti e rispettivi voti
*/

public class RegistroTest2
{

public static void main(String[] args)
{

/** nella variabile di tipo map si memorizzeranno le keys
e i valori che sono i nomi e i voti di studenti; con il registro
è possibile effettuare operazioni di aggiunta rimozione degli studenti
e modifica dei voti, oltreche stampare l elenco ordinato per nome
degli studenti (coi rispettivi voti)
*/
Map registro = new HashMap();
String nome;
String cognome;
int id=0;
String voto;
String input;
boolean done = false;
BufferedReader console = new BufferedReader( new InputStreamReader(System.in));

System.out.println("Scegli un opzione dal menu': ");
System.out.println("");

visualizza();
while(done==false)
{
try
{
input = console.readLine();
int scelta = Integer.parseInt(input);

if(scelta == 1 && !(scelta>5))
{
System.out.print("Inserisci il nome dello studente: ");
nome = console.readLine();
System.out.print("Inserisci il cognome dello studente: ");
cognome = console.readLine();
System.out.print("l' id e' automatico! \n");
id = id+1;
Student nomeKey = new Student(nome, cognome, id);
//---------------------------------
System.out.print("Inserisci il voto dello studente: ");
voto = console.readLine();
registro.put(nomeKey,voto);
System.out.println(nomeKey.id);
System.out.print("Studente aggiunto;\n");
}

if(scelta == 2 && !(scelta>5))
{
if(registro.isEmpty() != true)
{
System.out.print("Inserisci il cognome dello studente da rimuovere: ");
cognome = console.readLine();
registro.remove(cognome);
System.out.print("Studente rimosso;\n");
}
else System.out.println("Non posso rimuovere nessuno studente, il registro e' vuoto!\n");
}

/**if(scelta == 3 && !(scelta>5))
{
String newVoto;
System.out.print("Di quale studente vuoi modificare il voto? ");
nomeKey = console.readLine();
if(registro.containsKey(nomeKey) == true)
{
System.out.print("Inserisci il nuovo voto: ");
newVoto = console.readLine();
registro.put(nomeKey,newVoto);
System.out.print("Il voto di "+nomeKey+" e' stato modificato in "+newVoto+"\n");
}
else System.out.print("Lo studente "+nomeKey+" non e' presente nel registro\n");
}*/

if(scelta == 4 && !(scelta>5))
{
if(registro.isEmpty() == true) System.out.println("Il registro e' vuoto!!");
else
{
stampa(registro);
System.out.print("\n");
}
}

if(scelta == 5 && !(scelta>5))
{
visualizza();
}

if(scelta == 0 && !(scelta>5))
{
done = true;
System.out.println("Sei uscito dal programma.\n");
}
}

catch(IOException exception2)
{
System.out.println("Errore di input " + exception2);
}
catch(NumberFormatException exception1)
{
System.out.println("Non hai inserito un intero!! "+exception1);
}
}
System.exit(0);
}

private static void visualizza()
{
System.out.println("--------------------------- ");
System.out.println("1 Aggiundi Studente");
System.out.println("2 Rimuovi Studente");
System.out.println("3 Modifica Voto Studente");
System.out.println("4 Stampa Tutti I Voti");
System.out.println("5 Visualizza Questo Menu");
System.out.println("0 USCITA");
System.out.println("---------------------------");
}

private static void stampa(Map m)
{
Set keySet = m.keySet();
Iterator iter = keySet.iterator();
while (iter.hasNext())
{
Object key = iter.next();
Object value = m.get(key);
System.out.println((Student)key + ": " + value);
}
}
//c e ancora da modificare la stampa perche sia in ordine alfaetico!!!!!!!!
}
----------------------------------------------------
naturalmente devo ancora modificare tutto quello e solo il flusso di coscienza che mi è skizzato via in 20 minuti; pero con l esercizio precedente funzionava sta politica, ora anche se modifico il parametro della mappa in Object e gli butto dentro uno studente quando stampo mi stampa l indirizzo di memoria dell oggetto studente e il voto; quindi l oggetto lo crea e lo inserisce ma quando stampo non prende i campi di studente ma l indirizzo che c e nella chiave della mappa!!!! ho provato a tostringare in tutti i modi, ho provato a chiamare this.campo_dell_oggetto ma non mi fa manco accedere, quindi sono disperato perche questo semplice esercizio non riesco a farlo!!!!!!!!!!!!
spero di essermi spiegato, lo spero proprio.......
__________________
|18k+|slk800|a7n8x|1Gb/ddr400|Gf4mx440|Pio108|WD 160Gb|Case|Uni|Album|AnimeClick|OneManga|
|ClassicThrash!|BNR Metal|TrueMetal|Dime|Chuck|
dnarod è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2003, 21:28   #2
dnarod
Senior Member
 
L'Avatar di dnarod
 
Iscritto dal: Nov 2002
Messaggi: 4329
upp
__________________
|18k+|slk800|a7n8x|1Gb/ddr400|Gf4mx440|Pio108|WD 160Gb|Case|Uni|Album|AnimeClick|OneManga|
|ClassicThrash!|BNR Metal|TrueMetal|Dime|Chuck|
dnarod è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2003, 02:31   #3
dnarod
Senior Member
 
L'Avatar di dnarod
 
Iscritto dal: Nov 2002
Messaggi: 4329
risolto tutti e due i problemi anche se senza tanto stile: metto tutto in un TreeSet e stampo ordinato per nome nel primo caso, sovrascrivo toString() per la classe studente e invoco il metodo con (blabla.toString()).....sara bruttissimo ma funziona!!
__________________
|18k+|slk800|a7n8x|1Gb/ddr400|Gf4mx440|Pio108|WD 160Gb|Case|Uni|Album|AnimeClick|OneManga|
|ClassicThrash!|BNR Metal|TrueMetal|Dime|Chuck|
dnarod è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Recensione Vivo X300 Ultra: fotocamera eccezionale, ma prezzo proibitivo Recensione Vivo X300 Ultra: fotocamera ecceziona...
Xiaomi 17T Pro recensione: zoom Leica 5x e batteria silicio-carbonio per l'alternativa ai top Xiaomi 17T Pro recensione: zoom Leica 5x e batte...
Cryorig svela Lull, case con radiatore i...
Plaud Team, la soluzione di trascrizione...
OmniBook Ultra 16 e OmniBook X 14, anche...
G.SKILL porta al Computex 2026 una serie...
Biwin al Computex 2026: RAM DDR5 Origin ...
Dimenticatevi OS e app, per Microsoft ci...
Arctic al Computex 2026: Freezer 61, ven...
Siamo stati nel quartier generale di MSI...
AIO senza pompa: Enermax presenta il fut...
3 mesi gratis di Google AI Pro: ecco la ...
realme 16 5G: ufficiale la data di lanci...
GeForce RTX 5060 a poco più di 30...
Microsoft Build 2026, tutte le novit&agr...
Tomb Raider: Legacy of Atlantis, il rema...
NZXT H6 case e ventole Ultra RGB: New De...
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: 06:01.


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