javaで二次方程式ax2+bx+c=0が,2つの異なる実数解をもつ,実数の重解をもつ,実数解をもたないのいずれであるかを判別するプログラムを作りたいのですが、 何度実行しても正しい答えが出てくれません。なぜでしょうか? import java.util.Scanner; class Kadai { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int a,b,c,d; System.out.println("二次方程式y=ax^2+bx+cの解を判別します。"); System.out.print("aを入力してください。:"); a = sc.nextInt(); System.out.print("bを入力してください。:"); b = sc.nextInt(); System.out.print("cを入力してください。:"); c = sc.nextInt(); d=b^2-4*a*c; System.out.println("y="+a+"x^2+"+b+"x+"+c+"の判定は以下の通りです。"); if(d>0){ System.out.println("判別式D>0"); System.out.print("2つの異なる実数解をもつ。"); } if(d==0){ System.out.println("判別式D=0"); System.out.print("実数の重解をもつ。"); } if(d<0){ System.out.println("判別式D<0"); System.out.print("実数解をもたない。"); } } } これを実行すると下の画像のように異なる結果が出てしまいます。 この場合、正しくは実数の重解を持つですよね? どこが間違っているか指摘してくださると嬉しいですm(_ _)m
↧