PDA

View Full Version : Fine programma


hunterground
16-07-2005, 16:49
Quando inserisco un numero > di 25 vorrei che visualizzasse il messaggio di errore solo ke poi mi appare "Visualizzazione dati autocarri", come faccio a far finire il prog senza ke mi visualizzi il messaggio?



import java.io.*;
class Autocarri
{
private int[] V;
private int[] V1;
int N;
private int chilometri_percorsi;

public Autocarri(int N)
{
V=new int [N];
V1=new int [N];

}


public void Inserimento_Dati_Autocarri()
{

InputStreamReader In = new InputStreamReader(System.in);
BufferedReader Tastiera = new BufferedReader(In);
try
{
System.out.println("Inserisci N autocarri:");
N=Integer.parseInt(Tastiera.readLine());



InputStreamReader Ing = new InputStreamReader(System.in);
BufferedReader Tastiera1 = new BufferedReader(In);

if(N<=25)

for(int i=0;i<N;i++)
{

System.out.println("Inserisci numero autocarro:");
V[i]=Integer.parseInt(Tastiera.readLine());
System.out.println("Inserisci chilometri percorsi al giorno:");
V1[i]=Integer.parseInt(Tastiera.readLine());

}
else
System.out.println("Superato il n¦ di autocarri.Il n¦ di autocarri deve essere minore di " + N);



}

catch(Exception E)
{


}
}

public void Visualizza()
{
try{
if(N<=25)

for(int i=0;i<N;i++)
{

System.out.println("numero autocarro " + V[i]);
System.out.println("Km percorsi " + V1[i]);

}






}

catch(Exception E)
{
}

}

}






class TestAutocarri
{

public static void main(String args[])
{

try
{

Autocarri Z1= new Autocarri(55);


System.out.println("Inserimento dati autocarri...");
System.out.println("-------------------------------------------------------------------------------");
Z1.Inserimento_Dati_Autocarri();

System.out.println("-------------------------------------------------------------------------------");

System.out.println("Visualizzazione dati autocarri...");
Z1.Visualizza();
System.out.println("-------------------------------------------------------------------------------");


}

catch(Exception E)
{

}

}
}

franksisca
16-07-2005, 17:12
guarda, ti posso fare una domanda:
Hai mai letto un manuale JAVA?
se si, te ne faccio un'altra(un poco più scema):
Hai mai programmato in assembly?

Per la risposta alla tua doanda si deve usare un comando chiamato System.ou.exit(-1);
oppure puoi usare il comando break;

Anche nel manuale JAVA FOR DUMMIES c'è scritto del break e del system.out.exit(-19), così come in tutti i manuali, che ti consiglio di leggere(non sto facendo il sapientone, ma vorrei farti leggere qualcosa per capire le potenzialità disumane di JAVA)!!!! ;)

Mixmar
17-07-2005, 10:05
Potresti trasformare un po' la funzione Inserimento_Dati_Autocarri(), facendole restituire un booleano che ritorna "vero" se è andato tutto bene, "falso" se c'è stato un errore:

Nella classe Autocarri:


public boolean Inserimento_Dati_Autocarri() {
boolean risultato = false;

...

System.out.println("Superato il n¦ di autocarri.Il n¦ di autocarri deve essere minore di " + N);
risultato = true;

...

catch(Exception E)
{

} finally {
return risultato;
}


E nell'altra classe metti un test:


if (Z1.Inserimento_Dati_Autocarri()) {

...

}


Alternativamente, potresti provare a propagare l'eccezione e "catcharla" nella classe TestAutocarri.