Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Η java το επιτρεπει (γινεται compile), κατα την εκτέλεση πεταει ArrayIndexOutOfBoundsException.

 

σωστό αν το θέτεις έτσι... απτην άλλη αφου σου πετάει exception ουσιαστικά δεν σου επιτρέπει να κάνεις αυτο που προσπαθείς :P μάλλον αυτο θέλει να διαβάσει ο καθηγητής... καλα τέτοιες ερωτήσεις ειδικά για τμήμα διοίκησης επιχειρήσεων ειναι τραγικές... :blink:

Δημοσ. (επεξεργασμένο)

Για να μην ανοίγω νέο ποστάρω εδώ.

 

Μπορεί κάποιος να μου πει γιατί χτυπάει ενώ δεν χτυπάει error δεν εκτελείται όταν ανοίγει το παράθυρο;

Βγάζει μήνυμα στο netbeans:

 

run:
java.lang.NullPointerException
    at animball.AnimBall.init(AnimBall.java:44)
    at sun.applet.AppletPanel.run(AppletPanel.java:435)
    at java.lang.Thread.run(Thread.java:744)
BUILD SUCCESSFUL (total time: 3 seconds)

package animball;

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import static java.lang.Math.pow;

public class AnimBall extends Applet
    implements Runnable, ItemListener, ActionListener {

    Image img;
    Image currentImg;
    Thread runner;
    int x;
    int y;
    int SpSel;
    int AnSel;
    String msg;
    Choice Speed=null;
    Choice Angle=null;
    Button Start;
    
    public void init() {
        setSize(800,600);
        setLayout(null);
        
        img=getImage(getCodeBase(), "ball.gif");
     
        Speed = new Choice();
        Speed.addItem("0");
        Speed.addItem("5");
        Speed.addItem("10");
        Speed.addItem("20");
        
        Angle = new Choice();
        Angle.addItem("0");
        Angle.addItem("30");
        Angle.addItem("45");
        Angle.addItem("60");
        Angle.addItem("90");
        
        Speed.setBounds(0, 20, 50, 30);
        Angle.setBounds(70, 20, 50, 30);
        Start.setBounds(170, 20, 50, 50);
        
        Start=new Button("Start");
        add(Speed);
        add(Angle);
        add(Start);
        
        Speed.addItemListener(this);
        Angle.addItemListener(this);
        Start.addActionListener(this);
       
    }

    public void start() {
        if (runner == null) {
            runner = new Thread(this);
            runner.start();
        }
    }

    public void stop() {
        runner = null;
    }

    public void run() {
        for (int i = 0; i <=800 ; i+=SpSel) {
            double t=(i/(SpSel*Math.cos(AnSel)));
            x=i;            
            y= (600-(int)(SpSel*Math.sin(AnSel)*t-(1/2)*pow(t,2)));
            currentImg = img;
            repaint();
            pause(10);
        }
    }

     
    void pause(int time) {
        try {
            Thread.sleep(time);
        } catch (InterruptedException e) { }
    }


    public void paint(Graphics g) {
       if (currentImg != null)
           g.setColor(Color.white);
           g.drawImage(currentImg, x, y, this);    
}     
    
    public void itemStateChanged(ItemEvent e){
       SpSel = Integer.parseInt(Speed.getSelectedItem());
       AnSel = Integer.parseInt(Angle.getSelectedItem());       
   }
    
    public void actionPerformed(ActionEvent ae){
        if (ae.getSource()==Start){
            run();
        }
    }
}



Ευχαριστώ.

Επεξ/σία από heartless
Δημοσ.

 

Ναι αλλα αναφερεται σε λογικες παραστάσεις.

public class HelloWorld{

     public static void main(String []args){
         boolean a=true;
         boolean b=false;
         boolean c=a&b;
        System.out.println(c);
     }
}

Σωστός και οι bitwise δεν κάνουνε short-circuiting.

Από so:

short-circuiting (x != 0) && (1/x > 1) SAFE

not short-circuiting (x != 0) & (1/x > 1) NOT SAFE

 

Στην πρώτη περίπτωση μόνο αν το x!=0 είναι true τότε θα γίνει evaluate το 1/x > 1 ενώ στην δεύτερη θα γίνει ακόμα και όταν είναι false. Οπότε θεωρώ το 7 σωστό.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...