Lập trình Java - Giải phương trình bậc 2
Lời giải
Kiến thức sử dụng trong bài này, java.util.Scanner được sử dụng để đọc dữ liệu nhập vào từ bàn phím và từ khóa static trong java. Bạn cũng nên tìm hiểu về package trong java.
Mã nguồn chương trình:
import java.util.Scanner;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author ADMIN
*/
public class Bai16 {
/**
* @param args the command line arguments
*/
public static void giaiPTBac2(float a, float b, float c) {
// kiểm tra các hệ số
if (a == 0) {
if (b == 0) {
System.out.println("Phương trình vô nghiệm!");
} else {
System.out.println("Phương trình có một nghiệm: "
+ "x = " + (-c / b));
}
return;
}
// tính delta
float delta = b*b - 4*a*c;
float x1;
float x2;
// tính nghiệm
if (delta > 0) {
x1 = (float) ((-b + Math.sqrt(delta)) / (2*a));
x2 = (float) ((-b - Math.sqrt(delta)) / (2*a));
System.out.println("Phương trình có 2 nghiệm là: "
+ "x1 = " + x1 + " và x2 = " + x2);
} else if (delta == 0) {
x1 = (-b / (2 * a));
System.out.println("Phương trình có nghiệm kép: "
+ "x1 = x2 = " + x1);
} else {
System.out.println("Phương trình vô nghiệm!");
}
}
public static void main(String[] args) {
// TODO code application logic here
Scanner scanner= new Scanner(System.in);
System.out.print("Nhập hệ số bậc 2, a = ");
float a = scanner.nextFloat();
System.out.print("Nhập hệ số bậc 1, b = ");
float b = scanner.nextFloat();
System.out.print("Nhập hằng số tự do, c = ");
float c = scanner.nextFloat();
}
}
Kết quả:
Nhập hệ số bậc 2, a = 2
Nhập hệ số bậc 1, b = 1
Nhập hằng số tự do, c = -1
Phương trình có 2 nghiệm là: x1 = 0.5 và x2 = -1.0