01/10/2018, 10:02

Làm sao có thể xuất các giá trị đã nhập trong mảng từ hàm main

em đã viết ra ra code nhâp tung độ và hoành độ rồi xuất ra màn hình, nhưng chưa hiểu sao chương trình xuất ra màn hình giá trị tđ và hđ là 0 hết, mong các bác giúp em chỉnh sửa phần code của em ạ

public class Diem {
Diem()  {
      }
            private int td,hd;
            Diem(int x, int y){
                    hd = x;
                    td = y;    
            }
         Diem nhapdiem(int k) throws IOException{
             int td,hd;
             Scanner nhap = new Scanner(System.in);
             System.out.println("Nhap toa do diem");
             System.out.println("Tung do: ");
             td = nhap.nextInt();
             Scanner nhap1 = new Scanner(System.in);             
             System.out.println("Hoanh do: ");
             hd = nhap1.nextInt();
             Diem toado = new Diem( td, hd);
             return toado; 
         }
         public void setTd(int td) {
          this.td = td;
         } 
         
         public void setHd(int hd) {
          this.hd = hd;
         }
         
         public int getTd() {
          return this.td;
         }
         
         public int getHd() {
         return this.hd;
         }
         
         public void Hienthidiem() {
             System.out.println( "(" + this.hd + "," + this.td + ")" );
         }

        public static void main(String[] args) throws IOException {
        int n = 2;
        Diem[] listDiem = new Diem[n];
        for(int i=0; i<n; i++) {
            Diem diem = new Diem();
            diem.nhapdiem();
            listDiem[i] = diem;
            
        }
        for(int i = 0;i < n; i ++){
           Diem k = new Diem();
           k.Hienthidiem(listDiem[i]);
        }           
    }
}
Quân viết 12:18 ngày 01/10/2018
for(int i = 0;i < n; i ++){
    Diem k = new Diem();
    k.Hienthidiem(listDiem[i]);
} 

Viết thế này mà build run không lỗi à

Chaser viết 12:04 ngày 01/10/2018

(0,0)
(0,0)
nó chạy ra như thế này đó bác, em chưa hiểu sao bị lỗi như vậy ạ

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

Sai method signature chứ sao nữa, có thấy chô nào khai báo method Hienthidiem(Diem) đâu

Minh Nguyen viết 12:04 ngày 01/10/2018

Mình run thử code của bạn, nó báo lỗi loạn lên mà sao bạn vẫn run được ra (0,0) nhỉ =.=

for(int i=0; i<n; i++) {
Diem diem = new Diem();
diem.nhapdiem();
listDiem[i] = diem;
}

Ngoài chỗ bạn @qloved nói còn chỗ này cũng sai tương tự nè, bạn khai báo ở trên là nhapdiem(int k) mà,với diem.nhapdiem trả lại obj mà bạn để trơ trọi thế kia…

Chaser viết 12:04 ngày 01/10/2018

em sửa lại khai báo thêm hàm Diem() như ở trên có ổn không ạ

Bài liên quan
0