Từ 1 tới 2 trên tổng số 2 kết quả

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

  1. #1
    Ngày gia nhập
    03 2012
    Bài viết
    5

    Mặc định 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.

    Java Code:
    1. /*
    2.  Bài 2 Xây dựng lớp MaTran gồm:
    3. Các thuộc tính riêng(private)
    4. private int n,m;// số dòng và cột của ma trận
    5. private double  M[][]; // lưu trữ các phần tử  của ma trận
    6. Các phương thức tạo lập:  
    7. public MaTran(){}
    8. public  MaTran(int dong,int cot)
    9. public  MaTran(double M1[][])
    10. Các phương thức:
    11. public void  inMaTran()// in ma trận hiện thời
    12. public void nhapMaTran()// nhập ma trận từ bàn phím
    13. public boolean   kiemTraDoiXung()// kiểm tra tính đối xứng của mt qua đường chéo chính
    14. public MaTran   congMaTran(MaTran   M1)
    15. public MaTran    nhanMaTran(MaTran   M1)
    16.  */
    17.  
    18. package TH.Basic.Chuong4;
    19.  
    20. import java.util.Scanner;
    21.  
    22. class MaTran {
    23.     private int n, m;
    24.     private double M[][];
    25.     Scanner input = new Scanner(System.in);
    26.     public MaTran() {
    27.         this.n =0;
    28.         this.m = 0;
    29.     }
    30.    
    31.     public MaTran(int dong, int cot) {
    32.         this.n = dong;
    33.         this.m = cot;
    34.     }
    35.     public MaTran(double M1[][]) {
    36.         for (int i = 0; i < M1.length; i++) {
    37.             for (int j = 0; j < M1.length; j++) {
    38.                 this.M[i][j] = M1[i][j];
    39.             }
    40.         }
    41.     }
    42.  
    43.     public void inMaTran() {
    44.         Scanner input = new Scanner(System.in);
    45.         for (int i = 0; i < n; i++) {
    46.             for (int j = 0; j < m; j++) {
    47.                 System.out.print(M[i][j] + " ");
    48.             }
    49.             System.out.println();
    50.         }
    51.     }
    52.  
    53.     public void nhapMaTran() {
    54.         for (int i = 0; i < n; i++) {
    55.             for (int j = 0; j < m; j++) {
    56.                 System.out.print("M[" + i + "][" + j + "]= ");
    57.                 M[i][j] = input.nextDouble();
    58.             }
    59.         }
    60.     }
    61.  
    62.     public boolean kiemTraDoiXung() {
    63.         return true;
    64.     }
    65.  
    66.     public MaTran congMaTran(MaTran M1) {
    67.         MaTran M = new MaTran();
    68.         for (int i = 0; i < n; i++) {
    69.             for (int j = 0; j < m; j++) {
    70.             }
    71.         }
    72.         return M;
    73.  
    74.     }
    75.  
    76.     public MaTran nhanMaTran(MaTran M1) {
    77.         return M1;
    78.  
    79.     }
    80. }
    81.  
    82. public class Bai2 {
    83.     public static void main(String[] args) {
    84.         MaTran A = new MaTran(3,3);
    85.         MaTran B = new MaTran(3,3);
    86.         Scanner input = new Scanner(System.in);
    87.         System.out.println("nhap ma tran A: ");
    88.         A.nhapMaTran();
    89.         System.out.println("nhap ma tran B: ");
    90.         B.nhapMaTran();
    91.         System.out.println("2 ma tran vua nhap la");
    92.         System.out.println("__Ma Tran A__");
    93.         A.inMaTran();
    94.         System.out.println("__Ma Tran B__");
    95.         B.inMaTran();
    96.        
    97.  
    98.     }
    99. }
    Đã được chỉnh sửa lần cuối bởi D.Max : 19-01-2013 lúc 11:02 PM.

  2. #2
    Ngày gia nhập
    11 2012
    Bài viết
    29

    Code:
    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ụ :
    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.
    Code:
        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();
            }

Các đề tài tương tự

  1. Đọc Ghi file trong java, báo lỗi java.io.NotSerializableException: java.util.Scanner
    Gửi bởi quyenktpm2 trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 3
    Bài viết cuối: 13-08-2013, 11:40 AM
  2. Cách lấy dữ liệu từ file rồi xuất lên bảng trong java
    Gửi bởi snoit trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 3
    Bài viết cuối: 26-02-2013, 11:46 AM
  3. Bài tập C++ Nhập và xuất ma trận thông qua con trỏ
    Gửi bởi megadracula trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 07-12-2011, 03:54 PM
  4. Tạo hàm nhập/xuất ma trận dùng struct trong lập trình C?
    Gửi bởi ducminh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 20-10-2010, 10:52 AM
  5. [C] Xây dựng 4 hàm nhập(), xuất(), tổng(), tích() của 2 ma trận a, b
    Gửi bởi stephen trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 11-10-2006, 01:37 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn