alberto t.
13-12-2009, 11:27
Ho realizzato un programma in java.
Questa è la prima classe;
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:
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:
Temperatura m1 = new Temperatura();
m1.aggiungi();
Errore:
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.
Questa è la prima classe;
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:
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:
Temperatura m1 = new Temperatura();
m1.aggiungi();
Errore:
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.