Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0 error in Java

前端 未结 8 2004
清酒与你
清酒与你 2021-01-07 05:52

When i tried running this code I get this error..I dont know where i went wrong..

Exception in thread \"main\" java.lang.ArrayIndexOutOfBoundsException: 0
           


        
8条回答
  •  执笔经年
    2021-01-07 06:08

    package coordCart;

    public class LignePol { private Point[] sommets;

    public LignePol(int n) {
        Point[] sommets = new Point[n];
    }
    public LignePol(Point[] sommets) {
        this.sommets = sommets; 
    }
    
    public Point getSommet(int i) {
        return sommets[i];
    }
    public void setSommet(int i, Point p) {
        sommets[i] = p;
    }
    
    public String toString() {
        if (sommets.length == 0)
            return "[ ]";
    
        String res = "[ " + sommets[0];
        for (int i = 1; i < sommets.length; i++)
            res += ", " + sommets[i];
        return res + " ]";
    }
    
    public Object clone() {
        Point[] bis = new Point[sommets.length]; 
        for (int i = 0; i < sommets.length; i++) {
            Point p = sommets[i];
            bis[i] = new Point(p.x(), p.y());
        }   
        return new LignePol(bis);
    }
    
    public void homothetie(double k) {
        for (int i = 0; i < sommets.length; i++)
            sommets[i].homothetie(k);
    }
    public void translation(double dx, double dy) {
        for (int i = 0; i < sommets.length; i++)
            sommets[i].translation(dx, dy);
    }
    public void rotation(double a) {    
        for (int i = 0; i < sommets.length; i++)
            sommets[i].rotation(a);
    }
    
    void tracer() {
        for (int i = 1; i < sommets.length; i++)
            tracerSegment((int) sommets[i - 1].x(), (int) sommets[i - 1].y(), 
                    (int) sommets[i].x(), (int) sommets[i].y());
    }
    
    public static void main(String[] args) {
        Point[] t = { 
                new Point( 1, 3), new Point( 0, 2), new Point( 0, 0),
                new Point( 3, 5), new Point( 4, 4), new Point( 0, 4),
                new Point( 4, 2), new Point( 4, 0), new Point( 1, 1) };
        LignePol lp = new LignePol(t);
    
        double m = Double.parseDouble(args[0]); 
        double n = Double.parseDouble(args[1]); 
        double l = Double.parseDouble(args[1]); 
    
        lp.homothetie(l / 4.0);
        lp.translation(m, n);
    
        lp.tracer();
    }
    
    // pour la simulation
    static void tracerSegment(int x0, int y0, int x1, int y1) {
        System.out.println("(" + x0 + "," + y0 + ") --> (" + x1 + "," + y1 + ")");
    }
    

    }

提交回复
热议问题