Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-02-2004, 17:59   #1
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1765
[Java] Esercizio Telefonino

Sto usando un libro univesitario per imparare java, ci sono degli esercizi, ma non sono risolti. Come risolvereste questo?

Si vuole realizzare un sistema per la composizione dei messaggi da inviare tramite telefonino. Ad ogni messaggio corrisponde un codice. Ad esempio al codice "ta" corrisponde il messaggio completo "ti amo, amore.". Definire la classe TestoMessaggio per la gestione dei messaggi. La classe deve avere un metodo per creare oggetti TestoMessaggio leggendo il codice e il messaggio completo da tastiera, un metodo per restituire il codice ed un metodo per restituire il testo del messaggio.
Alhazred è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2004, 18:47   #2
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Un modo di risolvere l'esercizio è creare una classe Message che ingloba sia il codice che il testo esteso:

Codice PHP:
class Message{
       
       private 
String code;
       private 
String mex;

       public 
Message(String codeString mex){
              
this.codecode;
              
this.mex mex;
       }

       public 
string getCode(){
              return 
code;
       }

       public 
string getMex(){
              return 
mex;
       }

Quindi la classe MessagesText che memorizza le coppie (codice, testo) attraverso ogetti della classe Message e inserisce gli oggetti Message costruiti in un Vector:

Codice PHP:
class MessagesText{
     
     private 
Vector messages;

     public 
MessagesText(){
            
messages = new Vector();
     }


     public 
addMessage(String codeString mex){
          
messages.add(new Message(codemex));
      }

....

....

Poi ti implementi il metodo per ottenere il codice di un messaggio: dato il messaggio m, ti scorri il vettore messages e per ogni oggetto in tale vettore verifichi se quel Message ha il campo mex uguale a m; se è cosi restituisci il suo codice. Analogamente per il metodo che restituisce il messaggio a partire dal codice.

Ciao.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2004, 10:02   #3
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1765
Chiedo scusa, colpa mia che non l'ho spiegato prima.
Questo esercizio è proposto sul libro quando ancora non sono stati spiegati i vettori e non sono ancora state spiegate le istruzioni condizionali.
Alhazred è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2004, 10:17   #4
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Forse perchè le dava per scontate...

Come si fa a parlare di classi, oggetti, metodi senza conoscere i vettori e le if???
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2004, 10:20   #5
monkey72
Senior Member
 
L'Avatar di monkey72
 
Iscritto dal: Dec 2001
Messaggi: 1385
l'esercizio chiede solo di definire una classe con quei metodi, non basta il primo frammento di codice suggerito da anx721?
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km"
monkey72 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2004, 12:00   #6
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1765
Quote:
Originariamente inviato da cn73
Forse perchè le dava per scontate...
...
No, perché vettori e if vengono spiegati in seguito.
Alhazred è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2004, 12:01   #7
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Quote:
Originariamente inviato da Alhazred
Chiedo scusa, colpa mia che non l'ho spiegato prima.
Questo esercizio è proposto sul libro quando ancora non sono stati spiegati i vettori e non sono ancora state spiegate le istruzioni condizionali.

Bhè, in effetti è impossibile fare questo esercizio senza le istruzioni condizionali, a meno di non usare una Hashtable, ma dubito che volesse questo il libro...

La sola classe Massage non basta, perchè il libro chiede una classe che mantenga una serie di corrispondenze (codice-messaggio): la classe Message serve a rappresentare una singola coppia, mentre MessagesText serve a contenere l'insieme di tutte le coppie,

ciao.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2004, 16:48   #8
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1765
Secondo me, essendo solo a titolo didattico, vuole che si prevedano 2 o 3 messaggi solo per vedere se si è capito come creare nuovi oggetti.
Io avrei pensato a un paio di messaggi chiamati m1 e m2 creandoli con una cosa del tipo:
testoMessaggio m1 = new testoMessaggio(cod,text);
testoMessaggio m2 = new testoMessaggio(cod,text);

dove cod e text vengono assegnati a delle variabili digitandoli in una finestra di dialogo.
Alhazred è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2004, 17:10   #9
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Se è cosi allora ti basta la sola classe Message che avevo definito sopra.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 24-02-2004, 10:11   #10
monkey72
Senior Member
 
L'Avatar di monkey72
 
Iscritto dal: Dec 2001
Messaggi: 1385
Quote:
Originariamente inviato da anx721
Se è cosi allora ti basta la sola classe Message che avevo definito sopra.
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km"
monkey72 è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2004, 10:41   #11
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1765
Nuovi sviluppi del programma

Andando avanti vengono richieste altre funzioni per il programma.

la classe TestoMessaggio è quella proposta all'inizio del thread, vi ricordo che non si possono usare vettori, istruzioni condizionali o cicli, basta creare un numero di oggetti sufficiente a testare il programma.

Un messaggio deve contenere il numero da chiamare, il mittente ed il testo del messaggio. Definire una classe Messaggio, con:

1) un metodo che crea un'istanza a partire da un oggetto di classe TestoMessaggio e 2 stringhe che rappresentano il numero di tel. del mittente e destinatario

2) un metodo che crea un'istanza a partire da un oggetto di classe TestoMessaggio ed una stringa che rappresenta il numero di telefono del mittente

3) un metodo che crea un'istanza a partire da un oggetto di classe TestoMessaggio

4) un metodo che riceve come parametro il numero di telefono del destinatario ed aggiorna il destinatario del messaggio

5) un metodo per la stampa del messaggio

Scrivere un programma di esempio, che usa le due classi TestoMessaggio e Messaggio. Il programma deve:

1) contenere un metodo statico per la lettura di un numero telefonico da input

2) inizializzare una variabile di classe String, che corrisponde al numero di telefono del mittente

3) leggere il testo di un messaggio ed il codice, e memorizzarli in un oggetto di classe TestoMessaggio

4) leggere il numero di telefono del destinatario

5) creare un oggetto di classe Messaggio

6) visualizzare l'oggetto di classe Messaggio
Alhazred è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2004, 13:57   #12
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Posta una domanda precisa su cio che non ti e chiaro, se ti diamo la risposta completa noi non capisco cosa ne ricavi a fare questi esercizi.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2004, 15:41   #13
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1765
Quote:
Originariamente inviato da anx721
Posta una domanda precisa su cio che non ti e chiaro, se ti diamo la risposta completa noi non capisco cosa ne ricavi a fare questi esercizi.
Hai ragione.
Come risolvo il punto 4) della prima parte?
Ecco la classe Messaggio come l'ho pensata io:

Codice PHP:
public class Messaggio extends TestoMessaggio {
    public 
Messaggio(String codeString mexString mittString dest) {
        
super(codemex);
        
String numMitt mitt;
        
String numDest dest;
    }
    public 
Messaggio(String codeString mexString mitt) {
        
super(codemex);
        
String numMitt mitt;
    }
    public 
Messaggio(String codeString mex) {
        
super(codemex);
    }
    public 
void modificaDest(String numDest) {
    ***********************************    
    }
    public 
void stampaMessaggio(Messaggio m) {
        
System.out.println(m.getMex());
    }

Dove ci sono gli asterischi ci andrebbe il metodo che cambia il numero del destinatario, ma come lo faccio? Devo prima scrivere un metodo che mi ritorni il numero? Oppure c'è modo di farlo direttamente?

Ultima modifica di Alhazred : 05-03-2004 alle 16:17.
Alhazred è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2004, 21:50   #14
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Per fare in modo che la classe estesa Messaggio contenga il numero del destinatario e il numero del mittente devi dichiarare due campi di tipo stringa che conterranno queste informazioni. Quello che tu hai fatto non è corretto in quanto non hai definito due campi, ma delle variabili locali all'interno dei costruttori, che vengono distrutte appena il costruttore termina.

Quindi

String numMitt;
String numDest;

vanno posti al di fuori del costruttore; all'interno del costruttore poi fai l'assegnamento:

numMitt = mitt;
numDest = dest;

Per aggiornare il destinatario è sufficiente dichiarare un metodo che prende una stringa numDest e la assegna al campo numDest. Bada che se l'argomento del metodo ha lo stesso nome del campo numDest, all'interno del metodo per far riferimento al campo numDest della classe devi usare la forma: this.numDest, mentre usando solo numDest fai riferimento all'argomento.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2004, 12:17   #15
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1765
Ho apportato la modifica alla classe estesa Messaggio, quella di mettere String numMitt e String numDest fuori dal costruttore.

Credo di aver risolto in questo modo:

Codice PHP:
public void modificaDest(String nuovoDest) {
    
this.numDest nuovoDest
Non ho potuto verificare perché non riesco a scrivere una riga che mi scriva il numero del destinatario
Ho provato con una cosa di questo tipo:

Codice PHP:
import javax.swing.JOptionPane;
public class 
Cliente {
    
String numero;
    public static 
String leggiNumero() {
        
String numero JOptionPane.showInputDialog("Inserisci il numero del destinatario");
        return 
numero;
    }
    public 
void main (String[] args) {
        
String numMitt "3973186876";
        
String numero leggiNumero();
        
Messaggio m1 = new Messaggio("cs","Come stai?",numMitt,numero);
        
System.out.println(this.numero);
        
String nuovoDest JOptionPane.showInputDialog("Inserisci il nuovo destinatario");
        
modificaDest(nuovoDest);
        
System.out.println(this.numero);
    }

Ottengo un errore nella chiamata a modificaDest:
" cannot resolve symbol
symbol : method modificaDest (java.lang.String)"

Togliendo la chiamata e ricompilando va tutto bene, però in esecuzione mi si presenta un altro errore:
"Exception in thread "main": Java.lang.NoSuchMethodError: main"
Alhazred è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2004, 12:47   #16
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Il motivo per cui non trova il main è che non lo hai dichiarato static:

public void main (String[] args)

invece deve essere

public static void main (String[] args)


Il motivo per cui non trova il metodo modificaDest è perche questo è un metodo della classe Messaggio, non della classe Cliente, quindi lo devi invocare su un oggetto della classe Messaggio, ovvero sull'oggetto m1 che rappresenta il tuo Messaggio:

m1.modificaDest(nuovoDest);
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2004, 17:23   #17
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1765
Grazie, ho risolto, adesso funziona tutto
Alhazred è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
SpaceX: un satellite ha fotografato il s...
36 idee regalo con offerte Amazon sotto ...
Sony assume il controllo dei Peanuts: Sn...
DJI Neo scende a 149€ su Amazon, in vers...
Scoperto un nuovo esopianeta che orbita ...
Blue Origin NS-37: successo per la missi...
Potrebbe essere stata rilevata una super...
La cometa interstellare 3I/ATLAS è...
Xiaomi 17 Ultra: l'autonomia non sarà un...
Il processo produttivo a 2 nm di TSMC è ...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
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: 11:26.


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