premetto a tutti che sono più che neofita su questo tipo di linguaggio (Praticamente ho ripreso a scrivere su questo tipo di compilatore Like Pascal dopo 3 anni di Visual Basic....).
Il codice del mio primo programmino (dopo il tradizionale "Hello World" propedeutico) è il seguente:
codice:
import java.util.Scanner;
public class equazione
{
private int a;
private int b;
private int c;
private int discr;
private float x1;
private float x2;
public equazione (int ax, int bx, int cx)
{
a=ax;
b=bx;
c=cx;
discr=(b * b) - (4 * a * c);
}
public double getSolution1()
{
return ((-b)+(Math.sqrt(discr)))/(2*a);
}
public double getSolution2 ()
{
return ((-b)-Math.sqrt(discr))/(2*a);
}
public static void main (String[] args)
{
int discr=0;
Scanner inA= new Scanner (System.in);
System.out.print ("Inserisci il coefficiente del termine di secondo grado: ");
int a=inA.nextInt();
Scanner inB= new Scanner (System.in);
System.out.print ("Inserisci il coefficiente del termine di primo grado: ");
int b=inB.nextInt();
Scanner inC= new Scanner (System.in);
System.out.print ("Inserisci il coefficiente del termine noto: ");
int c=inC.nextInt();
equazione equa=new equazione (a,b,c);
System.out.println("Discriminante: D= " + discr) ;
System.out.println("Soluzione1: x1= " + equa.getSolution1 ());
System.out.println("Soluzione2: x2= " + equa.getSolution2 ());
}
}
Nella variabile discr (evidenziata di rosso) mi appare sempre 0, nonostante venga calcolata ed utilizzata correttamente per trovare le soluzioni (che poi sono quelle giuste). DOve sbaglio??
Scusate se è una domanda banale, però, come detto, dopo 3 anni di VB il cervello è un po' "arrugginito" nei confronti di questo tipo di linguaggi di programmazione.
Grazie.