#26869: java 有人幫我抓錯嗎?一直出現程式無法正常結束


Que030 (Que)

學校 : 內壢高中
編號 : 135249
來源 : [220.135.132.105]
最後登入時間 :
2024-04-21 00:26:44
a006. 一元二次方程式 | From: [220.135.231.42] | 發表日期 : 2021-08-29 15:46

package que;

 

import java.util.Scanner;

public class a006 {

 

    public static void main(String[] age) {

        Scanner sc = new Scanner(System.in);

        int a, b, c, d;

        a = sc.nextInt();

        b = sc.nextInt();

        c = sc.nextInt();

        d = b * b - 4 * a * c;

        if (d < 0) {

            System.out.println("No real root");

        } else if (d == 0) {

            System.out.println("Two same roots x=" +  - b / (2 * a));

        } else {

            double xa = (Math.sqrt(d) - b) / 2 / a, xb = -(Math.sqrt(d) - b) / 2 / a;

 

            System.out.printf("Two diffent roots x1=%d x2=%d", xa, xb);

        }

 

    }

}

 

 
#26873: Re:java 有人幫我抓錯嗎?一直出現程式無法正常結束


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a006. 一元二次方程式 | From: [39.8.11.165] | 發表日期 : 2021-08-29 20:27

package que;

 

import java.util.Scanner;

public class a006 {

 

    public static void main(String[] age) {

        Scanner sc = new Scanner(System.in);

        int a, b, c, d;

        a = sc.nextInt();

        b = sc.nextInt();

        c = sc.nextInt();

        d = b * b - 4 * a * c;

        if (d < 0) {

            System.out.println("No real root");

        } else if (d == 0) {

            System.out.println("Two same roots x=" +  - b / (2 * a));

        } else {

            double xa = (Math.sqrt(d) - b) / 2 / a, xb = -(Math.sqrt(d) - b) / 2 / a;

 

            System.out.printf("Two diffent roots x1=%d x2=%d", xa, xb);

        }

 

    }

}

 


你的xa, xb是double,printf裡面用的是%f。

(不過輸出說明說答案均為整數,所以你xa, xb要用int)

 
ZeroJudge Forum