Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    không nhập xuất ma trận trong java được. Help

    Mình mới học lập trình hướng đối tượng với java. Nhưng chưa hiểu cách nhập xuất ma trận theo hướng đối tượng như nào.
    Mọi người giúp mình sửa với.


    Mã:
    /* Bài 2 Xây dựng lớp MaTran gồm:Các thuộc tính riêng(private)private int n,m;// số dòng và cột của ma trậnprivate double  M[][]; // lưu trữ các phần tử  của ma trậnCác phương thức tạo lập:   public MaTran(){}public  MaTran(int dong,int cot)public  MaTran(double M1[][])Các phương thức:public void  inMaTran()// in ma trận hiện thờipublic void nhapMaTran()// nhập ma trận từ bàn phímpublic boolean   kiemTraDoiXung()// kiểm tra tính đối xứng của mt qua đường chéo chínhpublic MaTran   congMaTran(MaTran   M1)public MaTran    nhanMaTran(MaTran   M1) */ package TH.Basic.Chuong4; import java.util.Scanner; class MaTran {    private int n, m;    private double M[][];    Scanner input = new Scanner(System.in);    public MaTran() {        this.n =0;        this.m = 0;    }        public MaTran(int dong, int cot) {        this.n = dong;        this.m = cot;    }    public MaTran(double M1[][]) {        for (int i = 0; i < M1.length; i++) {            for (int j = 0; j < M1.length; j++) {                this.M[i][j] = M1[i][j];            }        }    }     public void inMaTran() {        Scanner input = new Scanner(System.in);        for (int i = 0; i < n; i++) {            for (int j = 0; j < m; j++) {                System.out.print(M[i][j] + " ");            }            System.out.println();        }    }     public void nhapMaTran() {        for (int i = 0; i < n; i++) {            for (int j = 0; j < m; j++) {                System.out.print("M[" + i + "][" + j + "]= ");                M[i][j] = input.nextDouble();            }        }    }     public boolean kiemTraDoiXung() {        return true;    }     public MaTran congMaTran(MaTran M1) {        MaTran M = new MaTran();        for (int i = 0; i < n; i++) {            for (int j = 0; j < m; j++) {            }        }        return M;     }     public MaTran nhanMaTran(MaTran M1) {        return M1;     }} public class Bai2 {    public static void main(String[] args) {        MaTran A = new MaTran(3,3);        MaTran B = new MaTran(3,3);        Scanner input = new Scanner(System.in);        System.out.println("nhap ma tran A: ");        A.nhapMaTran();        System.out.println("nhap ma tran B: ");        B.nhapMaTran();        System.out.println("2 ma tran vua nhap la");        System.out.println("__Ma Tran A__");        A.inMaTran();        System.out.println("__Ma Tran B__");        B.inMaTran();             }}

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    class MaTran {
        private int n, m;
        private double M[][]; // chỗ này bạn chưa khai báo kích thước tối đa cho mảng nha.
        Scanner input = new Scanner(System.in);
        public MaTran() {
            this.n =0;
            this.m = 0;
    .....
    }
    Sửa lại. Ví dụ :[IMG]images/smilies/thinking.gif[/IMG]
    private double M[][] = new double [50][50];

    Còn chỗ này, không ảnh hưởng gì đến bài, chỉ dư ra thôi.[IMG]images/smilies/dont_know.gif[/IMG]
    Mã:
        public void inMaTran() {
            Scanner input = new Scanner(System.in);  // input không cần khai báo lại nữa
            for (int i = 0; i < n; i++) {           // ở trên bạn đã khai báo biến input toàn cục rồi.
                for (int j = 0; j < m; j++) {
                    System.out.print(M[i][j] + " ");
                }
                System.out.println();
            }

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •