Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
La prima tappa italiana della Road to CES porta a Milano i vertici della Consumer Technology Association, con una nuova griglia di lettura dei trend tecnologici e una posizione netta su dazi e regolamentazione dell'IA
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-12-2003, 18: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, 22: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, 03: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


Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
NVIDIA smentisce la fine della RTX 5090,...
Microsoft ha avviato un programma di usc...
Oracle lancia Fusion Claw: gli agenti di...
Oracle e Astrazeneca insieme per lo svil...
Anthropic e la quotazione: cosa emerge d...
Condanna milionaria per il sessantottenn...
HONOR Robot Phone a Movieland: abbiamo g...
Google Messaggi introduce la Protezione ...
Vera Rubin, NVIDIA aggiorna le specifich...
Google Health 5.11 amplia il rilevamento...
Legacy Games chiude dopo quasi 30 anni: ...
iPhone Duo avvia le automazioni quando l...
Tomb Raider: Legacy of Atlantis, rivelat...
Instagram arriva su Apple TV con un'app ...
Meta lancia un'offerta azionaria da 35 m...
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: 04:54.


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