📄 maxvaluenet.java
字号:
// This is copyrighted source file, part of Rakiura JFern package. // See the file LICENSE for copyright information and the terms and conditions// for copying, distributing and modifications of Rakiura JFern package.// Copyright (C) 1999-2002 by Mariusz Nowostawski and others [http://www.rakiura.org]package org.rakiura.cpn.sample;/**/import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.rakiura.cpn.*;import org.rakiura.cpn.lib.TokenIterator;/** * Example of simple maximum value network. * *<br><br> * MaxValueNet.java<br> * Created: Mon Oct 2 22:07:43 2000<br> * *@author <a href="mariusz@rakiura.org">Mariusz Nowostawski</a> *@version 2.1.0 $Revision: 1.9 $ */public class MaxValueNet extends TokenIterator { public MaxValueNet() { // adds the guard on the input arc InputArc inarc = inputArc(); inarc.setGuard(inarc.new Guard() { public boolean evaluate() { final Multiset m = getMultiset(); return (m.size() > 1); } }); inarc.setExpression(inarc.new Expression() { public void evaluate() { // pick up two tokens var(2); } }); // expression to return the maximum of two tokens OutputArc outarc = outputArc(); outarc.setExpression(outarc.new Expression() { public Multiset evaluate() { final Multiset result = new Multiset(); final List list = new ArrayList(getMultiset()); final Comparable t1 = (Comparable) list.get(0); final Comparable t2 = (Comparable) list.get(1); if (t1.compareTo(t2) > 0) { result.add(t1); } else { result.add(t2); } return result; } }); transition().setAction(transition().new Action() { public void execute() { //System.out.print("."); } }); } public MaxValueNet(final Multiset initialMarking) { this(); place().addTokens(initialMarking); }} // MaxValueNet//////////////////// end of file ////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -