naturalnumbertable2.java
来自「Java版的SAT求解器」· Java 代码 · 共 113 行
JAVA
113 行
package positronic.satisfiability.naturalnumbertable;
import java.util.ArrayList;
import positronic.satisfiability.naturalnumber.INaturalNumber;
import positronic.satisfiability.naturalnumber.NaturalNumber;
import positronic.satisfiability.naturalnumbertable.INaturalNumberTable2;
public class NaturalNumberTable2 implements INaturalNumberTable2
{
/**
* A static integer which records the number of <tt>NaturalNumberTable</tt>'s
* created without specifying a name.
*/
private static int nNT2Count;
private ArrayList abscissa;
private ArrayList entry;
private String name;
private ArrayList ordinate;
public NaturalNumberTable2(int entries) throws Exception
{
this("NaturalNumberTable2-"+ nNT2Count++,entries);
}
public NaturalNumberTable2(String name, int entries) throws Exception
{
this.name=name;
this.abscissa=new ArrayList(entries);
this.ordinate=new ArrayList(entries);
this.entry=new ArrayList(entries);
for(int i=0;i<entries;i++)
{
this.abscissa.add(null);
this.setRow(i,new NaturalNumber(name+"_abscissa_"+i));
this.ordinate.add(null);
this.setColumn(i,new NaturalNumber(name+"_ordinate_"+i));
this.entry.add(null);
this.setEntry(i,new NaturalNumber(name+"_entry_"+i));
}
}
public INaturalNumber getColumn(int i)
{
return (INaturalNumber)this.abscissa.get(i);
}
public INaturalNumber[] getAbscissaArray()
{
return (INaturalNumber[])this.abscissa.toArray(new INaturalNumber[0]);
}
public INaturalNumber getEntry(int i)
{
return (INaturalNumber)this.entry.get(i);
}
public INaturalNumber[] getEntryArray()
{
return (INaturalNumber[])this.entry.toArray(new INaturalNumber[0]);
}
public String getName()
{
return this.name;
}
public INaturalNumber getRow(int i)
{
return (INaturalNumber)this.ordinate.get(i);
}
public INaturalNumber[] getOrdinateArray()
{
return (INaturalNumber[])this.ordinate.toArray(new INaturalNumber[0]);
}
public void setRow(int i, INaturalNumber in)
{
this.abscissa.set(i,in);
}
public void setEntry(int i, INaturalNumber in)
{
this.entry.set(i,in);
}
public void setName(String name)
{
this.name=name;
}
public void setColumn(int i, INaturalNumber in)
{
this.ordinate.set(i,in);
}
public int size()
{
return this.abscissa.size();
}
public String toString()
{
String ret=this.getName()+"\n";
for(int i=0;i<this.abscissa.size();i++)
ret+=this.getRow(i)+","+this.getColumn(i)+","+this.getEntry(i)+"\n";
return ret;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?