Witam :)
Chcę zaznaczyć że jestem nowy na forum, i jeszcze nie znam dokładnie zasad obowiązujących na forum i z góry przepraszam za błędy popełniane przeze mnie.
Jestem osobą bardzo początkującą jeżeli chodzi o programowanie.
Mój problem polega na tym że program który napisałem nie pozwala mi na wprowadzenie liczb rzeczywistych np: gdybym chciał wprowadzić liczbę 4.5, to wyskoczy mi błąd nie wiem jak sobie z tym poradzić :(.
package funkcja;
import java.io.IOException;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Funckja {
public static void main(String[] args) throws NumberFormatException,
IOException
{ boolean in = true;
int a;
int b;
int c;
double d;
double x;
double x1;
double x2;
Scanner odczyt = new Scanner(System.in);
do{
try {
System.out.print("Podaj pierwsza liczbe: ");
a = odczyt.nextInt();
System.out.print("Podaj druga liczbe: ");
b = odczyt.nextInt();
System.out.print("Podaj trzecia liczbe: ");
c = odczyt.nextInt();
d = (Math.pow(b, 2))-(4*a*c);
if(d>0)
{
x1 = (-b-Math.sqrt(d))/(2*a);
x2 = (-b+Math.sqrt(d))/(2*a);
System.out.print("Delta wynosi: "+d+" "+"Funkcja ma dwa miejsca zerowe: "+x1+" "+x2);
in = false;
}
else if(d==0)
{x = (-b)/(2*a);
System.out.print("Delta wynosi: "+d+" "+"Funkcja ma jedno miejsce zerowe: "+ x);
in = false;
}
else if(d<0)
{
System.out.print("Delta wynosi: "+d+" "+"Brak miejsc zerowych");
in = false;
}
} catch (InputMismatchException Ie) {
System.err.print("Wprowadz liczbe calkowita");
odczyt.nextLine();
System.out.println("Wprowadz ponowinie dane");
}
catch (IllegalStateException ae) {
System.err.print("Wprowadz liczbe calkowita");
odczyt.close();
System.out.println("Wprowadz ponowinie dane");
}
}
while(in);
odczyt.close();
}
}