30/09/2018, 23:38

Kết quả ra sai trong Java

Em có đoạn code như thế này.

import java.util.Scanner;

public class Diem {
    int x,y;
    
    public Diem(){
        x = y = 0;
    }
    
    public Diem(int x, int y){
        this.x = x;
        this.y = y;
    }
    
    public void nhapDiem(){
       Scanner s = new Scanner(System.in);
       System.out.print("Nhap x: ");
       x = s.nextInt();
       System.out.print("Nhap y: ");
       y = s.nextInt();
    }
    
    public void hienThi(){
        System.out.println("(" + x + "," + y + ")");
    }
    
    public void doiDiem(int dx, int dy){
        x += dx;
        y += dy;
    }
    
    public int giaTriX(){
        return x;
    }
    
    public int giaTriY(){
        return y;
    }
    
    public double khoangCach(){
        return(Math.sqrt(x * x + y * y));
    }
    
    public double khoangCach(Diem d){
        return(Math.sqrt(Math.pow(x - d.x, 2)) + Math.pow(y - d.y, 2));
    }

    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        
        System.out.print("A");
        Diem A = new Diem(3, 4);
        A.hienThi();
        
        Diem B = new Diem();
        System.out.println("Nhap vao toa do diem B: ");
        B.nhapDiem();
        System.out.print("B");
        B.hienThi();
        
        Diem C = new Diem();
        C.x = -1 * B.x;
        C.y = -1 * B.y;
        System.out.print("C");
        C.hienThi();
        
        Diem O = new Diem(0,0);
        System.out.println("Khoang cach tu B den O: " + O.khoangCach(B));
    }
}

Yêu cầu đề bài là : Hiển thị ra màn hình khoảng cách từ điểm B đến tâm O.

Mọi người cho em xin ý kiến, không biết lỗi ở đâu nhưng khi chạy ra thì không đúng kết quả.

Cảm ơn mọi người nhiều lắm.

Quân viết 01:45 ngày 01/10/2018

Viết công thức sai rồi đòi máy tính đúng thì đến chịu, để ý lại mấy dấu ngoặc nhé

vũ xuân quân viết 01:54 ngày 01/10/2018

khoangCach

hàm này sai nhé. chịu khó chạy debug để mình coi sai lỗi chỗ nào.

Bài liên quan
0