使用java来构造关联矩阵

程序如下

FileUtil.java

package com.gongjiao;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;/*** 用来读取文件和保存文件* @author Administrator**/
public class FileUtil {// //读取文件public static ArrayList<String> getFile(String filename) {BufferedReader br = null;ArrayList<String> list = new ArrayList<String>();try {br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filename)), "GBK"));String str = br.readLine();while (str != null) {list.add(str);str = br.readLine();}br.close();} catch (Exception e) {e.printStackTrace();}return list;}// 保存文件public static void savefile(List<String> list, String filename) {BufferedWriter bout = null;try {bout = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename), "GBK"));for (String str : list) {if (str != null && !str.equals("")) {bout.write(str);bout.newLine();}}bout.flush();bout.close();} catch (Exception e) {e.printStackTrace();}}}

IncidenceMatrix.java

package com.supernetwork;import java.util.ArrayList;/*** 利用边和节点来构造关联矩阵* @author Administrator*/
public class IncidenceMatrix
{public static void main(String[] args){ArrayList<String> strList = new ArrayList<String>();//边ArrayList<String> edges = FileUtil.getFile("edge.txt");//节点ArrayList<String> nodes = FileUtil.getFile("node.txt");int[][] matrix = new int[nodes.size()][edges.size()];for (int i = 0; i < nodes.size(); i++){for (int j = 0; j < edges.size(); j++){matrix[i][j] = 0;}}for (int i = 0; i < nodes.size(); i++){for (int j = 0; j < edges.size(); j++){if (edges.get(j).contains(nodes.get(i))){matrix[i][j] = 1;}}}for (int i = 0; i < nodes.size(); i++){StringBuffer sb = new StringBuffer();if( i == 0 ){sb.append("[[");}else {sb.append("[");}for (int j = 0; j < nodes.size(); j++){sb.append(matrix[i][j] + ",");}String str = sb.toString().substring(0,sb.toString().length() - 1);if( i == nodes.size() - 1){str = str + "]]";}else{str = str + "],";}strList.add(str);}FileUtil.savefile(strList,"incidenceMatrix.txt");System.out.println("成功!!");}}

java来构造关联矩阵相关推荐

  1. java来构造邻接矩阵

    使用java来构造邻接矩阵 "代码如下" FileUtil,java package com.gongjiao;import java.io.BufferedReader; imp ...

  2. java arraylist 构造_Java基础五:构造方法、ArrayList

    Java的构造方法 面向对象:属性和方法,当对象被创建的时候,构造方法用来初始化该对象,给对象的成员变量赋初始值 构造方法的格式: 修饰符 构造方法名(参数列表){方法体} 写法: 1.方法名与他所在 ...

  3. java构造方法的签名_如何在 Java 中构造对象(学习 Java 编程语言 034)

    1. 构造器 Java 对象都是在堆中构造的. 先看看 Employee 类的构造器: public class Employee { private String name; private dou ...

  4. java json 构造_json 构造和解析

    目录: (1)引入jar包: (2)json的构造: (3)json的解析: (4)遍历未知key. (1)java对json的处理,可借助org.json.jar. org.json json 20 ...

  5. java 数组构造_java – 从数组构造(非二进制)树

    我需要用Java构建一个树.我已经完成了树作为数据结构.但是我在将数据从数组提供给树时遇到了一些问题.这是我需要做的. domain = {"b", "c"}; ...

  6. Java基础——构造代码块

    为什么80%的码农都做不了架构师?>>>    看一段代码先 <!-- lang: java --> public class Test { // public Test ...

  7. java 中append()_调用append()方法在Java中构造一个StringBuffer对象

    StringBufferappend()方法将特定参数的String表示形式附加到序列中.它是java.lang.StringBuffer类的方法.此方法返回对该对象的引用. 该方法更改方法中调用的对 ...

  8. java 私有构造_JAVA中构造方法私有化的作用是什么?

    展开全部 如果构造方法是私有的,则意味着无法从除自身之62616964757a686964616fe58685e5aeb931333431363637外的任何类访问它.这是Java提供的访问控制机制. ...

  9. Java中构造代码块和静态代码块

    1.构造代码块 1.格式:使用{}声明 public class Code{{System.out.println("构造代码块");} } 2.特性 构造代码块在创建对象时被调用 ...

最新文章

  1. phoenix 开发API系列(二)phoenix 各类 api 实现方式
  2. 函数伪代码_Excel常用函数
  3. 【转】2.1 SharePoint服务器端对象模型 之 访问网站和列表数据(Part 1)
  4. Objective-C ,ios,iphone开发基础:UIAlertView使用详解
  5. kl距离 java_KL距离的计算
  6. epsonl360打印机连接电脑_爱普生l360驱动下载
  7. 信息熵与两种编码基础
  8. buuctf_[ACTF新生赛2020]swp
  9. 安卓手机快速将IOS微信消息换行
  10. 联想小新pro14 2022款和2021款的区别
  11. ASP.NET Web应用程序发布到IIS
  12. NBUT 1225 NEW RDSP MODE I (规律+快速幂)
  13. java程序员面试自我介绍
  14. 实现微信通知提醒的方法总结
  15. python百题大冲关_Python中 Pandas 50题冲关
  16. 文章标题 SPOJ - DRUIDEOI : Fata7y Ya Warda!(单调栈)
  17. Flink并行度与slot之间的关系
  18. 解决实例化Servlet类XXX异常
  19. for循环倒序java_for循环
  20. java使用Map缓存

热门文章

  1. Socket相关操作超时
  2. kali安装后的基本配置
  3. jquery2.1.1 checkbox
  4. 通过javascript动态显示界面控件
  5. drawable canvas使用
  6. 東方 project 联机版开发日记(1)
  7. SpringBoot自定义Filter
  8. 《构建之法》(第四、十七章)读书笔记
  9. RabbitMQ详解(一)
  10. TextView跑马灯效果