⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 marking.java

📁 petrinets小程序
💻 JAVA
字号:

public class marking {
	
	protected static final int w = Integer.MAX_VALUE - 200; 
	
	protected int[] mar;
	protected String name = "";
	
	public marking(int[] m){
		this.mar = new int[m.length];
		for(int i = 0; i < m.length; i++)
			this.mar[i] = m[i];
	}
	
	public marking(marking m){
		new marking(m.mar);
	}
	
	public marking(pn PN){
		this.mar = new int[PN.numberOfPlaces()];
		for(int i = 0; i < PN.numberOfPlaces(); i++){
			mar[i] = PN.getPlace(i).getTokens();
		}
	}

	public int[] getMar(){
		return this.mar;
	}

	public boolean equal(marking m){
		boolean equal = true;
		if(mar.length == 0 || m.mar.length == 0 || mar.length != m.mar.length)
			equal = false;
		else
			for(int i = 0; i < mar.length; i++)
				if(mar[i] != m.mar[i])
					equal = false;
		return equal;
	}
	
	public boolean notSmallToOneMarking(marking m){
		boolean big = true;
		if(mar.length == 0 || m.mar.length == 0 || mar.length != m.mar.length)
			big = false;
		for(int i = 0; i < m.mar.length; i++)
			if(mar[i] < m.mar[i])
				big = false;
		return big;
	}

	public boolean enable(pn PN, transition t){
		boolean able = false;
		for(int j = 0; j < PN.numberOfPlaces(); j++){
			PN.getPlace(j).setTokens(this.mar[j]);
		}
			if(t.canFire(PN, true)){
				able = true;
		}
		return able;
	}

	public marking fire(pn PN, transition t){
		marking m;
		if(this.enable(PN, t)){
			t.fire(PN, true);
		}
		m = new marking(PN);
		return m;
	}
	
}

⌨️ 快捷键说明

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