Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-12-2009, 11:27   #1
alberto t.
Member
 
Iscritto dal: Sep 2008
Messaggi: 91
[java] errore esecuzione metodo

Ho realizzato un programma in java.

Questa è la prima classe;
Codice:
package temperatura;
import java.io.*;
public class Temperatura implements Serializable {

    private String città,  data;
    private double temperatura;

    public Temperatura(String città, String data, double temperatura) {
        this.città = città;
        this.data = data;
        this.temperatura = temperatura;
    }

    public void setCittà(String città) {
        this.città = città;
    }

    public void setData(String data) {
        this.data = data;
    }

    public void setTemperatura(double temperatura) {
        this.temperatura = temperatura;
    }

    public String getCittà() {
        return città;
    }

    public String getData() {
        return data;
    }

    public double getTemperatura() {
        return temperatura;
    }
}
Questa è la seconda:
Codice:
package temperatura;

import java.io.*;

public class Main {

    public void aggiungi() {
        try {
            BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
            ObjectOutputStream scrivioggetto = new ObjectOutputStream(new FileOutputStream("temperatura.dat"));

            System.out.println("Dammi data: ");
            String data = input.readLine();
            System.out.println("Dammi temperatura: ");
            String line = input.readLine();
            double temperatura = Double.parseDouble(line);
            System.out.println("Dammi città: ");
            String città = input.readLine();

            Temperatura t1 = new Temperatura(città, data, temperatura);
            scrivioggetto.writeObject(t1);

            scrivioggetto.close();

        } catch (IOException eccezione) {
            eccezione.getMessage();
        } catch (Exception eccezione) {
            eccezione.getMessage();
        }
    }

    public static void main(String[] args) throws Exception {
        try {
            Temperatura m1 = new Temperatura();
            m1.aggiungi();

            ObjectInputStream leggi = new ObjectInputStream(new FileInputStream("temperature.dat"));
            boolean finefile = false;
            while (finefile == false) {
                Temperatura t1 = (Temperatura) leggi.readObject();
                if (t1 == null) {
                    finefile = true;
                } else {
                    System.out.println("Città: " + t1.getCittà() + ", data: " + t1.getData());
                    for (int i = 0; i < t1.getTemperatura(); i++) {
                        System.out.print("#");
                    }
                }
            }
            leggi.close();
        } catch (IOException eccezione) {
            eccezione.getMessage();
        } catch (Exception eccezione) {
            eccezione.getMessage();
        }


    }
}
Il problema è qui:
Codice:
Temperatura m1 = new Temperatura();
m1.aggiungi();
Errore:
Codice:
symbol  : constructor Temperatura()
location: class temperatura.Temperatura
            Temperatura m1 = new Temperatura();

symbol  : method aggiungi()
location: class temperatura.Temperatura
            m1.aggiungi();
Non so cosa mettere fra le parentesi di "new Temperatura()".
Vorrei che il mio oggetto sia inizializzato con nessun valore. (nel metodo aggiungi infatti i valori li fornisco io)

Grazie anticipatamente.
alberto t. è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2009, 11:39   #2
Allure
Senior Member
 
L'Avatar di Allure
 
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 1242
Creati un altro costruttore che non abbia bisogno di parametri.
__________________
Concertina: "I know the truth is in between the 1st and 40th drink"
Allure è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2009, 11:51   #3
alberto t.
Member
 
Iscritto dal: Sep 2008
Messaggi: 91
Quote:
Creati un altro costruttore che non abbia bisogno di parametri.
Come faccio?
alberto t. è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2009, 13:05   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
usa il costruttore che hai già. Anzichè "new Temperatura()" scrivi:

new Temperatura(null, null, null, 0);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2009, 13:40   #5
alberto t.
Member
 
Iscritto dal: Sep 2008
Messaggi: 91
Non funziona lo stesso:
Codice:
Temperatura m1 = new Temperatura(null, null, null, 0);
m1.aggiungi();
Codice:
symbol  : constructor Temperatura(<nulltype>,<nulltype>,<nulltype>,int)
location: class temperatura.Temperatura
Temperatura m1 = new Temperatura(null, null, null, 0);

symbol  : method aggiungi()
location: class temperatura.Temperatura
m1.aggiungi();
alberto t. è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2009, 13:52   #6
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2774
Sì, perché in realtà i parametri erano 3:
Codice:
new Temperatura(null, null, 0)
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2009, 13:57   #7
alberto t.
Member
 
Iscritto dal: Sep 2008
Messaggi: 91
Ok, grazie.
Ora il problema rimane questo:
Codice:
symbol  : method aggiungi()
location: class temperatura.Temperatura
m1.aggiungi();
Inoltre se provo ad eseguire questa porzione di codice:
Codice:
        try {

            ObjectInputStream leggi = new ObjectInputStream(new FileInputStream("temperature.dat"));
            boolean finefile = false;
            while (finefile == false) {
                Temperatura t1 = (Temperatura) leggi.readObject();
                if (t1 == null) {
                    finefile = true;
                } else {
                    System.out.println("Città: " + t1.getCittà() + ", data: " + t1.getData());
                    for (int i = 0; i < t1.getTemperatura(); i++) {
                        System.out.print("#");
                    }
                }
            }
            leggi.close();
        } catch (IOException eccezione) {
            eccezione.getMessage();
        } catch (Exception eccezione) {
            eccezione.getMessage();
        }
Non mi stampa il contenuto del file "temperature.dat"

Come mai?
alberto t. è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2009, 14:01   #8
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2774
Perché il metodo aggiungi è un metodo di Main, non di Temperatura. Mi dai l'impressione di non conoscere molto il linguaggio che stai utilizzando. Se è così ti consiglio di leggerti un buon libro per colmare le lacune.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
La tua rete Wi-Fi fa pena? Questi FRITZ!...
Amazon, un weekend di fuoco per gli scon...
Ancora 3 smartwatch Amazfit in forte sco...
Sharkoon A60 RGB: dissipatore ad aria du...
HONOR 400 Pro a prezzo bomba su Amazon: ...
Offerte da non perdere: robot aspirapolv...
Apple Watch e Galaxy Watch ai minimi sto...
Il rover NASA Perseverance ha ''raccolto...
NASA e ISRO hanno lanciato il satellite ...
Switch 2 ha venduto 5,82 milioni di cons...
Assassin's Creed Black Flag Remake: le m...
Cosa ci fa una Xiaomi SU7 Ultra alle por...
Promo AliExpress Choice Day: prezzi stra...
Nostalgico, ma moderno: il nuovo THEC64 ...
AVM avvia la distribuzione di FRITZ! OS ...
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: 08:21.


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