java創建自定義類的數組


今天在學圖論的最小生成樹,開始一直在想是用鄰接矩陣還是關聯矩陣來表示圖,但是發現這樣都會有好多空間浪費。於是我就自定義一個邊的類,里面包含了權值,關聯的端點1,端點2,和圖的表示字母。發現我想創建11條邊,Bian[] = new Bian[11]時; 然后調用Bian[0].v一直報空指針異常,還百度了,發現有些小伙伴和我遇到一樣的問題。於是仔細想了想,發現在java中,數組存放的是這個類型的對象,萬物皆對象。我定義Bian[] 時里面應該要存放Bian[]類型先。例如以下程序

import java.util.Scanner;

class Bian{
    int v; //邊的權值
    int guanlian[] = new int[2];//每條邊都是關聯2個點
    char xuhao;
}

public class Test {
    public static void main(String[] args) {
        System.out.println("請輸入這個圖有幾條邊:");  //用關聯矩陣表示圖
        Scanner scn = new Scanner(System.in);
        int n = scn.nextInt();
        Bian bian[] = new Bian[n];  //初始化了這么多條邊,則開始輸入
        for(int i=0;i<n;i++){
            bian[i] = new Bian();   //要先創建這個對象放在這個數組中才能使用
            bian[i].v = scn.nextInt();
            bian[i].guanlian[0] = scn.nextInt();
            bian[i].guanlian[1] = scn.nextInt();
            bian[i].xuhao = (char) ('a'+i);
        }
    }
}

  

 

以后大家要記住咯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM