JOptionPane macht keine Ausgabe

Status
Nicht offen für weitere Antworten.

engerl0610

Mitglied
Hallo

Noch eine frage, was ist da falsch?
er gibt mir kein ergebnis aus!
glg andrea


Code:
import javax.swing.JOptionPane;

public class FlaecheTrapez{

	public static void main (String[ ] args)
	{

		//Deklaration der Eingabevariablen
		String AX,AY,BX,BY,CX,CY,DX,DY;



		double dAX,dAY,dBX,dBY,dCX,dCY,dDX,dDY;
		double a,b,c,d,s,h,F;
		//Eingabe der Seitenlänge

		AX=JOptionPane.showInputDialog("Eingabe der X-Koordinate von A");
		AY=JOptionPane.showInputDialog("Eingabe der Y-Koordinate von A");
		BX=JOptionPane.showInputDialog("Eingabe der X-Koordinate von B");
		BY=JOptionPane.showInputDialog("Eingabe der Y-Koordinate von B");
		CX=JOptionPane.showInputDialog("Eingabe der X-Koordinate von C");
		CY=JOptionPane.showInputDialog("Eingabe der Y-Koordinate von C");
		DX=JOptionPane.showInputDialog("Eingabe der X-Koordinate von D");
		DY=JOptionPane.showInputDialog("Eingabe der Y-Koordinate von D");

		//Umwandlung der Zeichenkette

		dAX=Double.parseDouble(AX);
		dAY=Double.parseDouble(AY);
		dBX=Double.parseDouble(BX);
		dBY=Double.parseDouble(BY);
		dCX=Double.parseDouble(CX);
		dCY=Double.parseDouble(CY);
		dDX=Double.parseDouble(DX);
		dDY=Double.parseDouble(DY);



		//Berechnung der Fläche des Achtecks

		a=Math.sqrt((Math.pow((dAX-dBX),2))+(Math.pow((dAY-dBY),2)));
		b=Math.sqrt((Math.pow((dBX-dCX),2))+(Math.pow((dBY-dCY),2)));
		c=Math.sqrt((Math.pow((dCX-dDX),2))+(Math.pow((dCY-dDY),2)));
		d=Math.sqrt((Math.pow((dDX-dAX),2))+(Math.pow((dDY-dAY),2)));



		s=(a+b+c+d)/2;


		h=2/(a-b)*(Math.sqrt((s-a)*(s-b)*(s-b-c)*(s-b-d)));

		F=((a+b)*h)/2;

		//Ausgabe der Fläche und der Seitenlänge des Achtecks

		JOptionPane.showMessageDialog(null,"Seite a:"+a+"/nSeite b:"+b+
		"/nSeite c:"+c+"/nSeite d:"+d+"/nFLAECHE : "+F);

		System.exit(0);

     }
}

edited by thE_29: Titel geändert ....
 
Verdammt, das kanns ja net sein!

Stell eine Frage so, das man gleich am Thema erkennen kann was da sein kann und nicht Problem!

Aussagekräftige Titeln verwenden....
 
Frech brauchst du mal gar nicht werden, sonst kannst dich vertschüssen und keiner hilft dir!

Außerdem sind deine Fehlerangaben sehr dürftig, da bei mir das Programm problemlos funktioniert!

Was zum Beispiel gibt er den nicht aus?
 
wird irgend etwas gemacht? ein Fehler ausgegeben?

Du verwendest gar kein Frame /JFrame, hab um inputboxen darzustellen braucht man ein Frame, bin mir aber nicht sicher.
 
Das habe ich mir eigentlich auch gedacht (das mit den Frames) aber bei mir geht das Programm (compiliere und starte es von der Shell aus...)

Was weiß ich was die für ein Problem mit der Ausgabe hat...
 
Sorry.
Aber ich hab dir den falschen code geschickt.
bei dem funktionierts nicht.
bitteeeeeeeeeeeeeeee helft mir.

Code:
import javax.swing.JOptionPane;

class Flaechenberechnung{

	public static void main(String[]args){

	String ax,ay,bx,by,cx,cy;

	double eingabe_ax;
	double eingabe_ay;
	double eingabe_bx;
	double eingabe_by;
	double eingabe_cx;
	double eingabe_cy;

	ax=JOptionPane.showInputDialog("Geben Sie die x-Koordinate des Punktes A ein ");
	ay=JOptionPane.showInputDialog("Geben Sie die y-Koordinate des Punktes A ein ");
	bx=JOptionPane.showInputDialog("Geben Sie die x-Koordinate des Punktes B ein ");
	by=JOptionPane.showInputDialog("Geben Sie die y-Koordinate des Punktes B ein ");
	cx=JOptionPane.showInputDialog("Geben Sie die x-Koordinate des Punktes C ein ");
	cy=JOptionPane.showInputDialog("Geben Sie die y-Koordinate des Punktes C ein ");

	eingabe_ax=Double.parseDouble(ax);
	eingabe_ay=Double.parseDouble(ay);
	eingabe_bx=Double.parseDouble(bx);
	eingabe_by=Double.parseDouble(by);
	eingabe_cx=Double.parseDouble(cx);
	eingabe_cy=Double.parseDouble(cy);

	System.exit(0);
	}

	public static void Seitenlaenge(double a, double b, double c,
		int ax, int ay, int bx, int by,int cx,int cy) {

		a=Math.sqrt((Math.pow((bx-cx),2))+(Math.pow((cy-by),2)));
		b=Math.sqrt((Math.pow((cx-ax),2))+(Math.pow((cy-ay),2)));
		c=Math.sqrt((Math.pow((bx-ax),2))+(Math.pow((by-ay),2)));

		return a;
		return b;
		return c;

		/*System.out.println("Die Seite a "+a);
		System.out.println("Die Seite b "+b);
		System.out.println("Die Seite c "+c);*/
	}

	public static void Flaeche() {

		double s,F;
		double a=0,b=0,c=0;

		s=(a+b+c)/2;

		F=Math.sqrt(s*(s-a)*(s-b)*(s-c));

		System.out.println("Die Flaeche betraegt "+F);
	}
}
 
Also 1. ist das 100%ig nicht compilierfähig
2. habt ihr schon returns gemacht, falls ja => dann ist das kein gutes Zeichen
3. du kannst nur 1mal was in einer Funktion zurückgeben
4. darf dann die Funktion net void sein sondern muss sie einen Datentypen, wie int,floag, double, String oder sonstiges haben

5. Was für ne Ausgabe funktioniert da net? Das ganze Programm geht net mal starten...... (sehr dürftige Fehlerangaben..)



Kleiner Tipp http://www.java-forum.org/de/viewtopic.php?t=245

Edit: ich schreib dir das mal ein bisi um....!
 
Bitte lies dir Tutorials durch und/oder nachlernen!! (sonst kommst du nicht weit, wenn du bei sowas schon hängst)

Code:
import javax.swing.JOptionPane;

class Flaechenberechnung{

  static double a = -1,b = -1,c = -1;  //Klassenvariablen!


  public static void main(String[]args){

   String ax,ay,bx,by,cx,cy;

   double eingabe_ax;
   double eingabe_ay;
   double eingabe_bx;
   double eingabe_by;
   double eingabe_cx;
   double eingabe_cy;

   ax=JOptionPane.showInputDialog("Geben Sie die x-Koordinate des Punktes A ein ");
   ay=JOptionPane.showInputDialog("Geben Sie die y-Koordinate des Punktes A ein ");
   bx=JOptionPane.showInputDialog("Geben Sie die x-Koordinate des Punktes B ein ");
   by=JOptionPane.showInputDialog("Geben Sie die y-Koordinate des Punktes B ein ");
   cx=JOptionPane.showInputDialog("Geben Sie die x-Koordinate des Punktes C ein ");
   cy=JOptionPane.showInputDialog("Geben Sie die y-Koordinate des Punktes C ein ");

   eingabe_ax=Double.parseDouble(ax);
   eingabe_ay=Double.parseDouble(ay);
   eingabe_bx=Double.parseDouble(bx);
   eingabe_by=Double.parseDouble(by);
   eingabe_cx=Double.parseDouble(cx);
   eingabe_cy=Double.parseDouble(cy);
   Seitenlaenge(eingabe_ax,eingabe_ay,eingabe_bx,eingabe_by,eingabe_cx,eingabe_cy);
   Flaeche();
   System.exit(0);
   }

   public static void Seitenlaenge(double ax, double ay, double bx, double by,double cx,double cy) {

      a=Math.sqrt((Math.pow((bx-cx),2))+(Math.pow((cy-by),2)));
      b=Math.sqrt((Math.pow((cx-ax),2))+(Math.pow((cy-ay),2)));
      c=Math.sqrt((Math.pow((bx-ax),2))+(Math.pow((by-ay),2)));

   }

   public static void Flaeche() {

      double s,F;
   
      s=(a+b+c)/2;

      F=Math.sqrt(s*(s-a)*(s-b)*(s-c));

      System.out.println("Die Flaeche betraegt "+F);
   }
}
 
DANKE ganz vielmals.
weist, wir müssen uns das alles selbst erarbeiten, und irgendwie is des dann schon a bissl schwierig.
DANke jedenfalls.
 
Jo, deswegen lies dir die Java Bücher durch!

Die sind einfach und die meisten auch gratis (Online)

Da kannst dich mal einlesen!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben