AIUTO PROGRAMMA JAVA CON PROGRAMMAZIONE A OGGETTI

Approfondimenti e discussioni sul linguaggio Java per creare applicazioni professionali e mutipiattaforma
Rispondi
Avatar utente
LucioM
Messaggi: 1
Iscritto il: 18 gen 2016, 21:51

AIUTO PROGRAMMA JAVA CON PROGRAMMAZIONE A OGGETTI

Messaggio da LucioM » 18 gen 2016, 21:56

Buonasera.
Avrei bisogno di aiuto per un programma in Java con la programmazione a oggetti.
Testo:
Definisci la classe Buffer: un buffer può essere vuoto oppure contenere un messaggio di tipo Stringa.
Un buffer mette a disposizione tre operazioni principali:
- vuoto(): che permette di controllare se il buffer è vuoto;
- inserisci(s): che consente l'aggiunta di una stringa S in un buffer, tuttavia solo se il buffer è vuoto;
- leggi(): che consente l'estrazione di una stringa contenuta nel buffer, solo se il buffer non è vuoto.
Creare poi una classe UsaBuffer (file main) per istanziare un oggetto di classe Buffer e in maniera iterativa offre all'utente la possibilità di invocare una delle 3 funzionalità sul buffer, visualizzando l'esito dell'operazione, o di terminare l'esecuzione.
Vi posto il mio codice che ho fatto.
CLASSE BUFFER:
public class Buffer {
private String testo;


public Buffer() {
this.testo = testo;
testo = new String ("");
}

public String getTesto(){
return testo;
}

public boolean vuoto(){

return (getTesto().equals(new String("")));
}

public void setTesto(String testo){
this.testo = testo;
}

public void inserisci(String testo) throws Exception{
if(!vuoto()) System.out.println("Buffer pieno . . .");
setTesto(testo);
}


public String leggi() throws Exception{
if(vuoto()) System.out.println("Buffer vuoto . . .");


return getTesto();
}

}

CLASSE USABUFFER (FILE MAIN):
import java.io.*;
import java.util.Scanner;
public class UsaBuffer {
public static void main(String args[]) throws Exception{
InputStreamReader input=new InputStreamReader(System.in);
BufferedReader tastiera=new BufferedReader(input);
Buffer prova = new Buffer();


int scelta; String s;
do{
Scanner t = new Scanner(System.in);

System.out.println("1) Verifica se buffer è vuoto");
System.out.println("2) Inserire un nuovo valore");
System.out.println("3) Estrarre il contenuto");
System.out.println("4) Esci");
scelta = Integer.valueOf(tastiera.readLine()).intValue();
switch(scelta){
case 1:
System.out.println("Buffer vuoto?: "+prova.vuoto());
break;
case 2:
System.out.println("Inserisci la stringa da immettere: ");
s = tastiera.readLine();
prova.inserisci(s);

break;
case 3:
System.out.println("Il buffer contiene: " +prova.leggi());
break;
case 4:
return;

default:
break;

}

System.out.println("\n\n");
} while(scelta>=1 && scelta<=4);
}
}

Ho un problema: quando mando in esecuzione il programma e la prima cosa che deve fare è dire se il buffer è vuoto oppure no, mi compare un messaggio : "Buffer vuoto? True" quando invece deve comparire se è vuoto oppure no ("buffer vuoto").
Come mai?
Come devo fare?
Mi potete aiutare per favore?
E' importante.
Mandatemi il pezzetto di codice corretto se potete.
Grazie .

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite