Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    2

    [Java]Problema Codice per la risoluzione di semplici equazioni di secondo grado.

    Salve a tutti! Sono un nuovo iscritto e mi scuso anticipatamente in caso di incongruenza tra il mio comportamento e ciò che prevede il regolamento!
    Da poco son entrato nel mondo della programmazione java, e della programmazione in generale!
    Quindi vorrei porvi un po' di domande su quanto riguarda questo semplice programma di cui riporto il codice qui di seguito.
    Ho provato a sviluppare il codice con due strutture diverse, la prima volta ho provato a creare una classe e a invocarla con i suoi metodi successivamente tramite un programma di collaudo, e la seconda volta invece, ho scritto direttamente questo codice senza creare nessuna classe. Il risultato però è lo stesso, invece di visualizzar il risultato, visualizzo la scritta NaN ... dove sbaglio? il compilatore non mi evidenzia nessun errore sintattico in entrambe le strutture.
    vi ringrazio anticipatamente
    buona serata

    codice:
    import java.util.Scanner;
    
    
    public class EqSecondoGrado {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		Scanner Vitanio = new Scanner(System.in);
    		System.out.println("Inserisci il valore di a : " );
    		double a = Vitanio.nextDouble();
    		System.out.println("Inserisci il valore di b : " );
    		double b = Vitanio.nextDouble();
    		System.out.println("Inserisci il valore di c : " );
    		double c = Vitanio.nextDouble();
    		
    		double radice = Math.sqrt(b * b - 4 * a *  c);
    		double soluzione1 = (-b + radice) / (2*a);
    		double soluzione2 = (-b - radice) / (2 * a);
    		
    		System.out.println(" La prima soluzione x1 è : " + soluzione1);
    		System.out.println(" La seconda soluzione x2 è : " + soluzione2);
    	
    		}
    	}

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    "NaN" (not a number) è il valore ottenuto quando tenti di eseguire una operazione "non consentita"..secondo te dove può stare tale operazione nel tuo codice?
    Ovviamente in "radice" , quando il radicando è minore di zero non si hanno soluzioni nel campo dei numeri reali ma si va nel campo dei numeri complessi..dunque se vuoi coprire anche questi casi devi farlo manualmente "checkando" l'eventuale negatività del radicando e gestendola manualmente..il tipo di dato double non è in grado di farlo da sè!


  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    2
    Grazie mille, Gentilissimo

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.