Hi @ all,
hab folgendes Problem.
Und zwar sollen wir von der Schule aus ein sogenannten Vektorrechner programieren der drei dimensionale Vektoren addieren etc... berechnenen kann.
Hab das Design fetig und die Methoden zum Rechnen auch jedoch versteh ich noch nich so ganz wie ich die Werte von der einen Datei in die andere Datei übergebe. Die Methoden Datei, wo die Rechnung und soweiter drin sind läuft bereits (kann sein das ich was vergessen hab) und die andere Datei weißt Fehler auf seit dem ich versucht hab die Werte zu übergeben. Hoffe ihr könnt mir helfen. Danke im vorraus.
Vektorrechner
Und die Methoden
hab folgendes Problem.
Und zwar sollen wir von der Schule aus ein sogenannten Vektorrechner programieren der drei dimensionale Vektoren addieren etc... berechnenen kann.
Hab das Design fetig und die Methoden zum Rechnen auch jedoch versteh ich noch nich so ganz wie ich die Werte von der einen Datei in die andere Datei übergebe. Die Methoden Datei, wo die Rechnung und soweiter drin sind läuft bereits (kann sein das ich was vergessen hab) und die andere Datei weißt Fehler auf seit dem ich versucht hab die Werte zu übergeben. Hoffe ihr könnt mir helfen. Danke im vorraus.
Vektorrechner
Code:
import java.awt.*; //Imports
import java.awt.event.*; //Imports
import java.applet.Applet; //Imports
import javax.swing.*; //Imports
public class Vektorrechner extends JFrame implements ActionListener
{
//Eigenschaften
private VektorPanel v1=new VektorPanel();
private VektorPanel v2=new VektorPanel();
private VektorPanel v3=new VektorPanel();
private RadioButtonPanel B= new RadioButtonPanel();
String zeichen="+";
JLabel ZeichenLabel;
Button erg;
Methoden m1,m2,m3;
public Vektorrechner(String titel)
{
super(titel);
setLayout(new FlowLayout());
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(250,150);
setResizable(false);
m1=new Methoden(1,1,1);
m2=new Methoden(1,1,1);
m3=new Methoden(1,1,1);
ZeichenLabel=new JLabel(""+zeichen);
ZeichenLabel.setPreferredSize(new Dimension(10,10));
erg=new Button("=");
erg.setPreferredSize(new Dimension(15,15));
erg.addActionListener(this);
add(v1);
add(ZeichenLabel);
add(v2);
add(erg);
add(v3);
add(B);
setVisible(true);
}
class VektorPanel extends JPanel
{
JTextField Koord1, Koord2, Koord3;
JPanel P1 = new JPanel();
JPanel P2 = new JPanel();
public VektorPanel()
{
setLayout(new BorderLayout());
P1.setLayout(new GridLayout(3,3));
Koord1 = new JTextField(2);
Koord2 = new JTextField(2);
Koord3 = new JTextField(2);
P1.add(Koord1);
P1.add(Koord2);
P1.add(Koord3);
KlammerPanel K1=new KlammerPanel(0);
KlammerPanel K2=new KlammerPanel(1);
add(P1, BorderLayout.CENTER);
add(K1, BorderLayout.WEST);
add(K2, BorderLayout.EAST);
public void setzeWerte(int Werte[])
{
Koord1.setText(""+Werte[0]);
Koord2.setText(""+Werte[1]);
Koord3.setText(""+Werte[2]);
}
public int[] gibWerte()
{
int Werte[]=new int[3];
Werte[0]=Integer.parseInt(Koord1.getText());
Werte[1]=Integer.parseInt(Koord2.getText());
Werte[2]=Integer.parseInt(Koord3.getText());
return Werte;
}
}
}
public class KlammerPanel extends Panel
{
int orientierung;
public KlammerPanel(int art)
{
orientierung=art;
setBackground(Color.WHITE);
}
public void paint(Graphics g)
{
if( orientierung==0)
{g.drawLine(0,0,this.getWidth()-5,0);
g.drawLine(0,0,0,this.getHeight()); // Zeichne Umrandung
g.drawLine(0,this.getHeight()-1,this.getWidth()-5,this.getHeight()-1);}
else
{g.drawLine(5,0,this.getWidth(),0);
g.drawLine(this.getWidth()-1,0,this.getWidth()-1,this.getHeight()-1); // Zeichne Umrandung
g.drawLine(5,this.getHeight()-1,this.getWidth(),this.getHeight()-1);}
}
}
public class RadioButtonPanel extends Panel implements ActionListener
{
JToggleButton b1,b2,b3,b4;
public RadioButtonPanel()
{
setLayout(new FlowLayout());
ButtonGroup group = new ButtonGroup();
b1 = new JRadioButton("+ ",true);
group.add(b1);
getContentPane().add(b1);
b1.addActionListener(this);
b2 = new JRadioButton("- ");
group.add(b2);
getContentPane().add(b2);
b2.addActionListener(this);
b3 = new JRadioButton("* ");
group.add(b3);
getContentPane().add(b3);
b3.addActionListener(this);
b4 = new JRadioButton("/ ");
group.add(b4);
getContentPane().add(b4);
b4.addActionListener(this);
add(b1);
add(b2);
add(b3);
add(b4);
}
public void actionPerformed(ActionEvent e)
{
if( e.getSource()==b1 )
{
zeichen="+ ";
ZeichenLabel.setText(""+zeichen);
}
if( e.getSource()==b2 )
{
zeichen="- ";
ZeichenLabel.setText(""+zeichen);
}
if( e.getSource()==b3 )
{
zeichen="*";
ZeichenLabel.setText(""+zeichen);
}
if( e.getSource()==b4 )
{
zeichen="/";
ZeichenLabel.setText(""+zeichen);
}
}
}
public void actionPerformed(ActionEvent e)
{
try
{
m1.setzeWerte(v1.gibWerte());
m2.setzeWerte(v2.gibWerte());
if(y1.a1.isSelected() )
{
m3.summe(m1,m2);
}
if(y1.a2.isSelected() )
{
//m3.sub(m1,m2);
}
if(y1.a3.isSelected() )
{
//m3.mult(m1,m2);
}
if(y1.a4.isSelected() )
{
//m3.divi(m1,m2);
}
v3.setzeWerte(m3.gibKoord());
}
catch(NumberFormatException ex)
{System.out.println("nicht Erfolgreich, mindestens ein TextFeld ist nicht befüllt!");}
}
public static void main(String[] args)
{
new Vektorrechner("Vektorrechner");
}
}
Und die Methoden
Code:
public class vektor
{
// Eigenschaften
double Vektorarray[]=new double[4];
//Konstruktoren
public vektor(double x1,double x2,double x3)
{
Vektorarray[1]=x1;
Vektorarray[2]=x2;
Vektorarray[3]=x3;
}
//Vektor erstellen
public vektor()
{
for(int i=0;i<=3;i++)
Vektorarray[i]=0.0;
}
//Summe vom Vektor erstellen
public void summe(vektor v1, vektor v2)
{
for(int i=0;i<=3;i++)
Vektorarray[i]=v1.Vektorarray[i]+v2.Vektorarray[i];
}
//skalarmultiplikation
public void skalmult(vektor v1,double r)
{
for(int i=0;i<=3;i++)
Vektorarray[i]=v1.Vektorarray[i]*r;
}
//vektorbetrag
public double betrag()
{
double betrag=0;
for(int i=0;i<=3;i++)
{
betrag=betrag+Vektorarray[i]*Vektorarray[i];
}
return betrag = Math.sqrt( betrag );
}
//Skalarprodukt
public double skalprod(vektor v1, vektor v2)
{
double skalprod=0;
for(int i=0;i<=3;i++)
{
skalprod=skalprod+v1.Vektorarray[i]*v2.Vektorarray[i];
}
return skalprod;
}
//Kreuzprodukt
public void kreuzprod(vektor v1, vektor v2)
{
Vektorarray[1]=v1.Vektorarray[2]*v2.Vektorarray[3]-v1.Vektorarray[3]*v2.Vektorarray[2];
Vektorarray[2]=v1.Vektorarray[3]*v2.Vektorarray[1]-v1.Vektorarray[1]*v2.Vektorarray[3];
Vektorarray[3]=v1.Vektorarray[1]*v2.Vektorarray[2]-v1.Vektorarray[2]*v2.Vektorarray[1];
}
//Ausgabe array
public double gibKoord(int i)
{
return Vektorarray[i];
}
}