Umwandlungsproblem

Oetzicool

Erfahrenes Mitglied
Hey ich arbeite gerade an einem Programm das einen Wurf berechnet und simuliert! Ich will jetzt eine Variable des Typs Double in eine Variable des Typs Integer umwandeln! Aber irgendwie klappts nicht! Kann mir vieleicht einer helfen? Danke schonmal ;-)!

Hier ist noch der Code vieleicht versteht dann einer das Problem besser!

Code:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import java.lang.*;
import java.lang.String.*;

public class wurfberechnung extends Applet implements ActionListener

{
  Panel p;
  Graphics g;
  Button b;
  int xmax, ymax, v, sxa, sya, sxn, syn;
  double t, winkel, winkelcos, winkelsin, ge, sxn_do, syn_do;

  public void init()
  {
    p = new Panel();
    b = new Button("Malen");
    this.setLayout(null);
    this.setBackground(Color.white);
    p.setBounds(10,10,400,400);
    p.setBackground(Color.lightGray);
    this.add(p);
    b.setBackground(Color.lightGray);
    b.setBounds(10,450,50,30);
    b.addActionListener(this);
    this.add(b);
    
    xmax = p.getSize().width;
    ymax = p.getSize().height;

  }
  
  public void actionPerformed(ActionEvent e)
  {
  g = p.getGraphics();
  g.drawLine(0,0,xmax,ymax);
  for(t = 0; t<10; t=t+0.1)
  {
  winkelcos = Math.cos(winkel);
  winkelsin = Math.sin(winkel);
  sxn_do = (v * winkelcos * t)*10;
  syn_do = v * winkelsin * t - 0.5 * ge * (t*t);
  Integer x = Integer.valueOf(sxn_do);
  sxn = x.intValue();
  Integer x2 = Integer.valueOf(syn_do);
  syn = x2.intValue();
  }
  }
}
 
Am einfachsten gehts, wenn du einfach auf Integer castest also bspw. so:

sxn = (int)((v * winkelcos * t)*10);

Dabei muss man natürlich aufpassen, dass man den Integerbereich nicht verlässt. Außerdem hat die Klasse Math noch ne Rundungsmethode.
 
Zurück