Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Creare un eccezione controllata

    Ciao a tutti . Ragazzi il mio problema sono le eccezioni, voglio capirle bene. Allora l'esercizio diceva di creare un eccezione che viene generata qualora il numero k inserito da tastiera sia maggiore di un certo numero.
    Allora io ho 3 classi, il Test, SommaInt e FuoriRange, però non ho capito cosa devo mettere nella classe FuoriRange, cioè ho già messo il messaggio di errore nella try della classe.
    Grazie a tutti.

    codice:
    public class FuoriRange extends Exception{
    	public FuoriRange(){
    		/*Cosa ci devo mettere qui?*/
    	}
    }
    codice:
    public class SommaInt{
    	private int k;
    	public SommaInt(int k){
    	this.k=k;
    	}
    	
    	/*Costruttore*/
    	public void Calcola() throws FuoriRange{
    		/*CODICE*/
    		/*qui vengono generati k numeri casuali*/
    		if(k>6)	throw new FuoriRange();
    		else
    			/*CODICE*/
    			/*fai la somma degli elementi*/
    	
    	}
    }
    codice:
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    
    
    public class Test {
    	public static void main(String[] args) throws FuoriRange, java.io.IOException, IOException{
    		BufferedReader in=new BufferedReader(new InputStreamReader(System.in));/*creo un oggetto BufferedReader*/
    		try{
    			int k;
    			k=Integer.parseInt(in.readLine());/*prende in input un numero da tastiera*/
    			SommaInt sum=new SommaInt(k);/*crea un oggetto SommaInt*/
    			sum.Calcola();/*calcola la somma dei numeri generati casualmente*/
    		}
    		catch(FuoriRange e){
    				System.out.println("Superato limite.");/*stampa a video il messaggio di errore, se metto qui il messaggio nella classe FuoriRange cosa ci devo mettere?*/
    		}
    	}
    }

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Creare un eccezione controllata

    Originariamente inviato da boy123456
    codice:
    public class FuoriRange extends Exception{
    	public FuoriRange(){
    		/*Cosa ci devo mettere qui?*/
    	}
    }
    Anche nulla. Ti conviene creare anche dei costruttori alternativi, in modo da accettare un messaggio da visualizzare e l'eventuale eccezione sorgente.

    Guarda i costruttori della classe Exception per farti un'idea
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    E se volessi inserire la possibilità di reinserire dei numeri cosa mi consigli? Posso usare il while o si puo' usare l'eccezione per ripetere l'operazione senza usare il while?
    Del tipo:

    codice:
    ripeti=true;
    while(ripeti){/*ripeti finche' ripeti e' true*/
    /*CODICE*/
    System.out.println("Vuoi ripetere la somma:(y/n)");
    /*CODICE*/
    if(s.equals("y")) ripeti=true;/*se il risultato e' uguale a y ripeti altrimenti esci*/
    else ripeti=false;
    }

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477

    Moderazione

    Originariamente inviato da boy123456
    E se volessi inserire la possibilità di reinserire dei numeri cosa mi consigli?
    Ricordati in futuro di aprire una nuova discussione per ogni nuovo problema, come da Regolamento.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5

    Re: Moderazione

    Originariamente inviato da alka
    Ricordati in futuro di aprire una nuova discussione per ogni nuovo problema, come da Regolamento.
    Ciao, sono nuovo, scusa se ho violato il regolamento ,non pensavo di violarla, e' ambigua la regola: "Ciascuna discussione deve trattare esclusivamente uno e un solo problema: quello indicato nel titolo. Per ogni nuovo problema che non sia strettamente correlato, è necessario aprire una nuova discussione.", nel titolo parlo di eccezioni e la domanda e' sull'eccezione, infatti volevo sapere se devo usare l'eccezione o il ciclo while per ripetere quello che ho scritto nel codice di sopra, tutto qui.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.