01/10/2018, 08:46
Java Nhập Môn mong anh em giúp đỡ!
Đậy là phần code mình mới tự làm về giải phương trình bậc hai nhưng lỗi ở chỗ phần tính delta vì mình tao cho nó một public static double delta(double a,double b,double c).Nhưng phương trình chỉ cho nghiệm kép còn lại mình nhập a,c,b bằng bất cứ số nào đều ra vô nghiệm. Mọi người giúp mình giải nhé
/
*
* 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.
*/
package practicephuongtrinhbachai;
import java.util.Scanner;
/**
*
* @author Welcome
*/
public class PracticePhuongTrinhBacHai {
public static double delta(double b,double c,double a){
return b*b-4*a*c;
}
public static double nghiemkep(double b,double c){
return -c/b;
}
public static double omega(double b,double a){
return -b/2*a;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner scan = new Scanner(System.in);
System.out.println("Hay nhap ba so a,b,c");
System.out.println("a co gia tri la: ");
double a= scan.nextDouble();
System.out.println("b co gia tri la: ");
double b= scan.nextDouble();
System.out.println("c co gia tri la: ");
double c= scan.nextDouble();
if(a==0){
double nghiem=nghiemkep(b,c);
System.out.println("phuong co nghiem la"+nghiem);
}
else{
double del=delta(a,b,c);
if(del<0){
System.out.println("phuong trinh vo nghiem");
}
else if(del==0){
double nghiem1=omega(a,b);
System.out.println("phuong trinh co nghiem la: "+nghiem1);
}
else{
double x1=(-b-Math.sqrt(del))/2*a;
double x2=(-b+Math.sqrt(del))/2*a;
System.out.println("phuong trinh co nghiem la: "+x1+x2);
}
}
}
}
Bài liên quan
Đoạn này nữa
System.out.println("phuong trinh co nghiem la: "+x1+x2);
x1+x2 là phép cộng hai số , sửa thành "x1 = "+x1+ " \n x2 = "+x2
bạn ơi vấn đề của mình là lúc nào mình bấm 3 giá trị a,b,c thì nó cũng hiện ra là phương trình vô nghiệm hết
Là vì khi bạn khởi tạo method delta lúc đầu thứ tự bạn truyền tham số là (b,c,a) nhưng khi bạn gọi method thì bạn lại truyền là (a,b,c)
C1:
Bạn sửa lại thứ tự tham số là double a, double b, double c.
C2:
Bạn có thể sửa lại delta(b,c,a);
Và ở cái có 2 nghiệm
Bạn sửa lại thành