java创建自定义类的数组

Posted zzl的日常work

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
        }
    }
}

 

以后大家要记住咯





















以上是关于java创建自定义类的数组的主要内容,如果未能解决你的问题,请参考以下文章

Swift:在 Core Data 中存储自定义类的数组

js中一个自定义数组的问题

xposed自定义参数

typescript 定义自定义类的数组

自定义类的字典数组

自定义类的数组作为属性