PDA

Visualizza la versione completa : [JAVA] Passare uno String a un'altra classe: come fare?


MOBILUK
05-02-2003, 13:40
sto sviluppando con un amico un client di posta elettronica testuale, e io sto curando lo sviluppo di 2 classi. Quella di cui mi sto occupando ora è una classe che permette all'utente di immettere tramite tastiera i comandi, e che poi restituisce a Email (la classe principale) uno String; ecco il codice fin'ora elaborato della classe in questione (la classe si chiama InOut)



import java.io.*;

public class InOut

{

public static void main(String[] args)

{

String riga = "";
try

{

InputStreamReader ISR = new InputStreamReader(System.in);
BufferedReader BR = new BufferedReader(ISR);
riga = BR.readLine();

}

catch(IOException ioex)
{
System.exit(0);
}

}

}

così come è ora questa classe non passa nessuno String a Email, questo dovrebbe farlo tramite il metodo readLine dell'oggetto BufferedReader.


Ma come posso fare ciò? :confused:

Grazie!

floyd
05-02-2003, 13:45
Email mail = new Email(riga);
Email deve avere un costruttore
public Email(String msg) { ... }

MOBILUK
05-02-2003, 13:58
Email avrà sicuramente un costruttore, ma quello che vloglio chiederti è nella parentesi graffe dove tu hai messo i puntini di sospensione, cosa dovrà andarci? Lo string che restituisce automaticamente InOut a Email? :quipy:

floyd
05-02-2003, 14:05
public Email(String msg) {
System.out.print(msg);
}
ci va quello che ci deve fare con la stringa

MOBILUK
05-02-2003, 14:20
in definitiva il codice sarà questo?



// InOut.java

import java.io.*;

public class InOut

{

public static void main(String[] args)

{

String riga = "";
try

{

InputStreamReader ISR = new InputStreamReader(System.in);
BufferedReader BR = new BufferedReader(ISR);
riga = BR.readLine();

}

catch(IOException ioex)
{
System.exit(0);
}

Email mail = new Email(riga);
public Email(String msg)
{
System.out.print(msg);
}

}




:confused:

floyd
05-02-2003, 14:44
:nonono:
devi fare un file che si chiama Email.java
public class Email {
public Email(String msg) {
System.out.print(msg);
}
}

MOBILUK
05-02-2003, 14:53
già altrimenti quando lo compilo mi darà erore! Dico bene?

Cmq il codice è posizionato bene?

floyd
05-02-2003, 15:07
questo sì
Email mail = new Email(riga);

MOBILUK
05-02-2003, 15:20
ho provato a creacre un sempice file Email, che contiene solo il costruttore (come hai suggerito tu), lo compilato correttamente e ho tentato di compilare InOut.java, ma mi da errore



// InOut.java

import java.io.*;

public class InOut

{

public static void main(String[] args)

{

String riga = "";
try

{

InputStreamReader ISR = new InputStreamReader(System.in);
BufferedReader BR = new BufferedReader(ISR);
riga = BR.readLine();

}

Email mail = new Email(riga);
public Email(String msg)
{
System.out.print(msg);
}


catch(IOException ioex)
{
System.exit(0);
}



}

}


- mi da errore alla riga 34 (c'è solo la parentesi graffa)
- mi da errore alla riga 25 alla p di public Email (String msg)
- e alla riga 14 'try without 'catch' or finally' e mi segnala la t di try

:bhò:

grazie per la pazienza

floyd
05-02-2003, 20:19
così dovrebbe andare


import java.io.*;

public class InOut {

public static void main(String[] args) {

String riga = "";
try {
InputStreamReader ISR = new InputStreamReader(System.in);
BufferedReader BR = new BufferedReader(ISR);
riga = BR.readLine();
}
catch(IOException ioex) {
System.exit(0);
}
Email mail = new Email(riga);
}
}

la classe Email e questa devono stare nella stessa directory

Loading