package algebraicStructuresFactory;
import algebraicStructures.Expression;
import inout.In;
import inout.Out;
public class AlgebraicStructureTest {
/**
* @param args
*/
public static void main(String[] args) {
AbstractStructureFactory structureFactory;
int decide,index,left,right;
String constant;
Out.print("Decide on ring system:" +
"\n[1] for Bool" +
"\n[2] for Modulo 5" +
"\nYour selection: ");
decide = In.readInt();
switch(decide){
case 1:
structureFactory = new BoolStructureFactory();
break;
case 2:
structureFactory = new Z5StructureFactory();
break;
default:
Out.println("invalid input");
return;
}
AlgebraicStructure structure = new AlgebraicStructure(structureFactory);
do{
Out.print("\nCommands are:" +
"\n[1] - for new constant" +
"\n[2] - for evaluate" +
"\n[3] - for multiplication expression" +
"\n[4] - for plus expression" +
"\n[5] - for quit" +
"\nSelect your command:");
decide = In.readInt();
if(decide == 1){
Out.print(" Constant: ");
constant = In.readWord();
#structure.addExpression(structure.getStructureFactory().createConst(constant));
}
if(decide == 2){
Out.print(" Index: ");
index = In.readInt();
#structure.addExpression(structure.get(index).evaluate());
}
if(decide == 3){
Out.print("Index left operand: ");
left = In.readInt();
Out.print("Index right operand: ");
right = In.readInt();
#structure.addExpression(structure.getStructureFactory().createMult(structure.get(left),structure.get(right)));
}
if(decide == 4){
Out.print("Index left operand: ");
left = In.readInt();
Out.print("Index right operand: ");
right = In.readInt();
#structure.addExpression(structure.getStructureFactory().createPlus(structure.get(left),structure.get(right)));
}
if (decide != 5){
#Out.println("[" + (structure.size()-1) + "] " + structure.get(structure.size()-1));
}
}while(decide != 5);
}
}
[\code]
Hab leider keine Ahnung was ich bei den Objekten anders schreiben müsste um keine Fehlermeldungen (Zeile mit Asterix #) zu bekommen.[code]