Problema con

di il
5 risposte

Problema con

Salve ragazzi avrei un problema con un problema che ho trovato su un sito dove devo creare una classe con un predicato statico .
Allora prima di tutto non ho ben capito cos'è il predicato statico immagino che sia il modificatore static del metodo ? Bho.
Vi allego il testo del problema: Scrivere una classe traboccoSommaShort che contenga un predicato statico traboccoSomma(short a, short b) che ritorni true se è avvenuto trabocco (overflow) nella somma e false altrimenti. Realizzare il metodo main della classe trabocco somma che legga da finestra due short e stampi a schermo il valore di ritorno del predicato
Inoltre vi allego il mio codice :

public class traboccoSommaShort {
short a=32767;
short b=1;
public static String traboccoSomma(short a,short b) {
int c=a+b;
if ((c> 32767)||(c<-32768))
{
return c + " è avvenuto l'overflow" ;
}
else
{
return c + " non è avvenuto l'overflow";
}


}
public static void main(String[] args) {
traboccoSommaShort.traboccoSomma(a,b);
}
}
Il problema è stà nel fatto che quando invoco il metodo traboccoSommaShort.traboccoSomma(a,b), non mi considera mai accettabili le variabili che gli do in input e anche se faccio il casting, mettendo invece di a e b, ((short)32767) e ((short)1)
non funziona comunque.
Please Help!!!!!!!!!!!

5 Risposte

  • Re: Problema con

    Ciao, ho corretto qualche cosa: prova a dare un'occhiata e se qualcosa non ti è chiaro lo chiedi e lo vediamo insieme.
    
    public class TraboccoSommaShort {
    	
    	public static boolean traboccoSomma(short a,short b) {
    		int c=a+b;
    		if ((c> 32767)||(c<-32768))
    		{
    			return true;
    		}
    		else
    			return false;
    
    
    	}
    	public static void main(String[] args) {
    		short a=32767;
    		short b=1;
    		if (traboccoSomma(a,b)) {
    			System.out.println("Trabocco");
    		}
    		else {
    			System.out.println("Non è avvenuto il trabocco");
    		}
    	}
    }
    PS. Si può sicuramente fare di meglio ma intanto è un inizio.
  • Re: Problema con

    Grazie mille funziona, ma non ho capito cosa dovrebbe fare il secondo if quello che fa :
    if (traboccoSomma(a,b))
    in parole povere che tipo di controllo fà il secondo if sul metodo traboccoSomma ?
  • Re: Problema con

    Si chiede se il metodo traboccoSomma ritorni true, segnalando quindi che è avvenuto l'overflow.

    Scrivere
    if(qualcheCondizione)
    è la forma contratta per dire
    if(qualcheCondizione == true)
  • Re: Problema con

    Grazie mille ! ora mi è tutto chiaro
  • Re: Problema con

    Perfetto!
Devi accedere o registrarti per scrivere nel forum
5 risposte