资源简介
可读入文件,更可按你的要求生成随机的矩阵,全图形操作界面!绝对的高大上!!!!!
PageRank算法及Java代码实现,加入阻尼系数变量,可轻松修改迭代次数及阻尼变量,并且输出时提示是第几次的迭代输出.
对输入的格式要求有很详细的介绍!
代码片段和文件信息
package cn.wx.PageRank;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
/**
* 求取PageRank值的代码 用户可以通过文件选择器选择读入指定的文件进行计算,文件的第一行为初始PR值,
*
* 余下的行为矩阵,其中矩阵行元素间用“,”隔开,行与行之间无需分隔符。
*
* 也可以通过选择随机来输入矩阵的维数、初始PR值以及矩阵的复杂度(矩阵中有多少个1)生成矩阵进行计算。
*/
public class newPageRank {
static JTextField jtf;// 显示文件路径的框
static JTextArea jta;// 显示计算结果的框
static Jframe jf;// 显示的窗体
static Jframe jf1;// 显示输入矩阵的窗体
static float[] data;// 存数输入数据的数组
static int time = 20;// 指定的运行次数
static float alpha = 0.85f; // 阻尼系数d或称为alpha
public static void main(String[] args) {
newPageRank mine = new newPageRank();
mine.showUI();
}
/**
* 展示计算结果的界面
*/
public void showUI() {
// 初始化界面以及按钮、输入框等
jf = new Jframe();
jf.settitle(“PR值计算~~“);
jf.setSize(500 500);
jf.setDefaultCloseOperation(3);
jf.setResizable(false);
jf.setLayout(null);
jf.setLocationRelativeTo(null);
JButton btn = new JButton(“打开“);
btn.setActionCommand(“Open“);
btn.setBounds(20 20 80 30);
JButton btn1 = new JButton(“随机“);
btn1.setActionCommand(“Input“);
btn1.setBounds(110 20 80 30);
jtf = new JTextField();
jtf.setBounds(200 20 260 30);
jtf.setEditable(true);
jtf.setActionCommand(“Over“);
jta = new JTextArea();
jta.setEditable(false);
jta.setLineWrap(true);
jta.setAutoscrolls(true);
JScrollPane jsp = new JScrollPane(jta);// 创建滚动条
jsp.setBounds(20 70 460 380);
// 添加监听器
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals(“Open“)) {
// 弹出选择框
jta.setText(““);// 每次重新选择之前清空输入框
JFileChooser fc = new JFileChooser();
int value = fc.showOpenDialog(null);
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
if (value == JFileChooser.CANCEL_OPTION) {
return;
}
File file = fc.getSelectedFile();
jtf.setText(file.getAbsolutePath());
readFile(file);
}
if (e.getActionCommand().equals(“Input“)) {
init();// 初始化窗体,获取值
}
if (e.getActionCommand().equals(“Over“)) {
jta.setText(““);
// 输入路径结束,执行以下操作
File file = new File(jtf.getText());
readFile(file);
}
}
};
jf.add(btn);
jf.add(btn1);
jf.add(jtf);
jf.add(jsp);
btn.addActionListener(al);
btn1.addActionListener(al);
jtf.addActionListener(al);
jf.setVisible(true);
}
/**
* 读取相应路径文件的方法 定义文件中第一行是节点对应的初始化PR值,
* 接下来是N*N的矩阵 同行数据之间均通过“,“分隔,不同行无需分隔符
*
* @param file
* :文件
*/
public st
- 上一篇:java程序设计教程课后答案
- 下一篇:Java生成二维码名片
相关资源
- Java生成二维码名片
- java程序设计教程课后答案
- java日历记事本源码含jar包
- JavaEE视频教程
- java做的健身房预约系统
- java A*算法解决八数码、十五数码
- Delphi7AES加密解密与JAVA互转默认128位
- java扫描线填充算法
- java 实现我的记事本
- java实现虚拟键盘
- JAVA多线程编程详解-详细操作(转自
- JAVA运用多线程实现碰撞的小球
- 使用JAVA编制时钟程序
- Java虚拟机视频.rar
- java串口监听所有驱动包
- java写的单位转换,包括长度,重量,
- Java并发编程实践 mobi
- kerberos java system
- 蓝桥杯历年真题解析视频讲解javaB组
- ZB转GB输入法
- JavaWeb答辩问题
- 计算机毕业实习报告java方面
- java在线升级代码
- java单例模式连接数据库源码
- Java程序入门日文版
- Java中基于UDP的图像传输与显示(Swi
- apriori算法java实现源代码
- JAva+sql的网上购书系统
- 学生课绩管理系统 - Java源码
-
eclipse-java-google-st
yle
评论
共有 条评论