node.java

来自「Java选修课的作业」· Java 代码 · 共 86 行

JAVA
86
字号
/**
 * 
 */
package SensorNode;

import java.util.ArrayList;

/**
 * @author WangJiayi
 * 传感器个体的域和方法
 */
public class Node {
	
	
	
	//构造器,构造给定坐标的传感器节点,构造时邻居为空(即无邻居)
	public Node(double x1,double y1,ArrayList<Node> tmp){
		x = x1;
		y = y1;
		neighbor =tmp;
		
	}
	
	
	//添加邻居的方法,一个Node类型的参数,若坐标符合要求则将该对
	//象添加到邻居列表中。
	public void addNeighbor(Node tmp){
		
		a = tmp.x -this.x;
		a*=a;
		b = tmp.y -this.y;
		b*=b;
		if(d > (a+b)&& this != tmp)
		{
			neighbor.add(tmp);
		}
		
		
	}
	
	
	public void setisread(){
		isread = true;
	}
	public boolean readstate(){
	
		return isread;
	}
	public Node getneighbor(int n){
		return neighbor.get(n);
	}
	
	//判断一个所给的节点是不是该节点的邻居的方法
	public boolean isNeighbor(Node x){
		int i;
		for(i=0;i< neighbor.size();i++){
			if(x == neighbor.get(i)) return true;
		}
		return false;
	}
	
	
	//该点的最短路径的长度
	public int dist =-1;
	//域
	//节点的坐标
	public double x=0;
	public double y=0;
	
	//传感器可通信的范围的值的平方
	public static final double d =10000;
	
	//在求最短路径时是否已经计算过
	public boolean isread =false;
	
	//用来寻找路径的指针
	public Node path =null;
	
	//邻居列表,通过addNeighbor方法修改
    ArrayList<Node> neighbor =null;
    
    private double a,b;
	

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?