Einzelnen Beitrag anzeigen
Alt 05.01.2004, 15:59   #33
poison
Jr. Member
 
Registriert seit: 01.04.2001
Alter: 41
Beiträge: 59


Standard

ok jetzt habe ich versucht die methode so umzuschreiben, dass die punkte in einen vector gespeichert werden und dieser vector dann zurückgegeben wird -> das macht der code auch nur wird in diesem vector nur der letzte punkt gespeichert
jetzt meine frage wo liegt der fehler?



Code:
import eprog.*;
import java.util.*;
import java.awt.geom.*;

public class Konvneck extends EprogIO
{
    public static void main(String[] args)
    {
        point(); 
    }
    
    /////////////////////////
    // Methode zum Einlesen//
    /////////////////////////
    
    private static Vector einlesen()
    {
        float xKoord, yKoord;
        String input = ""; // dieser String enthält die Eingabe
        int counter = 0; // zum Zählen der Koordinatenpaare
        Vector punkte = null;
        Point2D.Float punkt = null;
        
        do
        {
            input = readWord();
            
            int index1 = input.indexOf('(');
            int index2 = input.indexOf(')');
            
            if ( (index1 != -1) && (index2 > index1))
            {
                String teil = input.substring(index1+1, index2);
                
                try
                {
                    xKoord=Float.parseFloat(teil.substring(0, teil.indexOf(',')));
                    yKoord=Float.parseFloat(teil.substring(teil.indexOf(',')+1, teil.length()));
                    
                    if ( (xKoord < -100) || (xKoord > 100) || (yKoord < -100) || (yKoord > 100) )
                    {
                        println ("FALSCHE EINGABE");
                    }
                    
                    punkt = new Point2D.Float(xKoord, yKoord);
                    
                    println (xKoord);
                    println (yKoord);
                    println (punkt);
                }
      
                catch (NumberFormatException e)
                {
                    throw new IllegalArgumentException("FALSCHE EINGABE");
                }
                
                punkte = new Vector();
                punkte.add (punkt);
                counter++;
                
            }
         } while (!(input.endsWith("=")));

        println (counter);
        
        if ( (counter < 3) || (counter > 15) )
        {
            println ("FALSCHE EINGABE");
        }
        
        return punkte;
    }
    
    
    public static void point()
    {
        Vector punkte = einlesen();
        println (punkte.size());
        Enumeration enum = punkte.elements(); // Enumeration auf einzelne Elemente
        
        while(enum.hasMoreElements())
        {
            println (enum.nextElement().toString()+" ");
        }
    }
   
}
mfg poison
poison ist offline   Mit Zitat antworten