//Autor: Philipp Muigg //MatrikelNr: 0125958 //e-mail: p.muigg@kabsi.at //Beispielname: Konvneck (konvexes Vieleck) //BeispielNr: 3254 //dieses Programm liest die Eckpunkte eines Vielecks ein und gibt gibt aus, //ob das Vieleck Konvex oder Konkav ist oder ob sich die Kanten schneiden. import eprog.*; import TPolygon; public class Konvneck extends EprogIO { public static void main(String[] args) { //informationen zum TArrayAppendObj in der zugehörigen .java datei //(verhält sich im endeffekt ähnlich wie eine linked list...) TArrayAppendObj eingabe=new TArrayAppendObj(new String[50]); String eingabeBuff=readWord(); //Einlesen von werten bis ein "=" die Eingabe abbricht while (!eingabeBuff.equals("=")) { eingabe.appendObject(eingabeBuff); eingabeBuff=readWord(); } //informationen zu dieser funktion in TArrayAppendObj.java //eingabe.trimArray(); String[] uebergabeArray= eingabe.toTrimmedStringArray(); TPolygon mypoly= new TPolygon(eingabe.toTrimmedStringArray()); /*TKoo2d[] kootest=new TKoo2d[6]; kootest[0]=new TKoo2d(0,0); kootest[1]=new TKoo2d(2,-1); kootest[2]=new TKoo2d(3,-1); kootest[3]=new TKoo2d(4,1); kootest[4]=new TKoo2d(4,2); kootest[5]=new TKoo2d(0,2); TPolygon mypoly= new TPolygon(kootest, false); */ int polyStat= mypoly.getPolystat(); //wenn der polygon ungültig ist seine punktzahl größer 15 ist oder seine punkte ausserhalb der vorgegebenen //größe sind wird falsche eingabe ausgegeben. if (((polyStat&TPolygon.POLYSTAT_INVALID)!=0)|| (mypoly.getPunktZahl()+1>15)||(!mypoly.sindKoosIn(-100,100))) println("FALSCHE EINGABE"); else //mehr zum Rückgabewert von getPolystat in TPolygon.java if ((polyStat&TPolygon.POLYSTAT_SCHNEIDET)!=0) println("SCHNEIDET"); else if ((polyStat&TPolygon.POLYSTAT_KONKAV)!=0) println("KONKAV"); else println("KONVEX"); } }