• 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);
            }
        }
    }
    

      

    以后大家要记住咯

  • 相关阅读:
    定时器的应用---查询方式---让8个LED灯,左右各4个来回亮
    单片机实现60s定时器
    单片机不同晶振怎么计算延迟时间?
    573锁存器驱动8段数码管
    51单片机英文引脚等中文对照
    Java【小考】
    viso2010从mysql中导出ER图
    驱动继电器实验
    驱动蜂鸣器的实验
    驱动数码管的实验
  • 原文地址:https://www.cnblogs.com/zzlback/p/8470495.html
Copyright © 2020-2023  润新知