jimk
Goto Top

Java -Mehrere Werte einer Methode übergeben

Wie kann ich mehrere Werte aus einer static methode übergeben?

Hallo,

ich hab da ein kleines Problem. Für das Studium haben wir eine Aufgabenstellung bekommen. Eigentlich ganz simpel, aber ich weiß nicht, wie ich mehrere Werte aus einer Methode übergebe.

Es ist eine Klasse mit statischen Methoden zum Rechnen mit Vektoren zu schreiben und zu erproben. Folgende Methoden sollten in der Klasse mindestens berücksichtigt werden:
a. Methode zur Vektoreingabe über Eingabefenster,
b. Methode zur Vektorausgabe (Anzeige im Konsolenfenster oder Meldungsfenster),
c. Addition von zwei Vektoren,
d. Subtraktion von zwei Vektoren,
e. Skalarprodukt von zwei Vektoren,
f. Betrag eines Vektors,
g. Multiplikation eines Vektors mit einem Faktor.
In der main- Methode der Klasse sollte der Test der Methoden berücksichtigt werden. Dazu ist eine einfache Menüführung zu erstellen.


Soweit ist mein Programm.

import javax.swing.JOptionPane;


public class Übung8
{
	
	public static void main(String args)
	{
		int zahl;
		double x1=0, x2=0, y1=0,y2=0;
		
		
		do
		{
			String s=JOptionPane.showInputDialog("Übung8\nRechnen mit Vektoren \n\n1. Werte eingeben\n2. Vektoren Ausgabe\n3. Addition\n4. Subtraktion\n5. Skalarprodukt\n6. Betrag\n7. Multiplikation mit einem Faktor\n8. Abbrechen");  
			zahl=Integer.parseInt(s);
			
			switch(zahl)
			{
			case 1: 
				
				Eingabe();
		  					
				break;
				
			case 2:
				
				String text1;
		  		text1="Vektor 1 \n"+x1+"\n"+y1+"\nVektor 2 \n"+x2+"\n"+y2+"\n\n Da weißt de bescheid!!!\n";  
		  		System.out.println(text1);
		  		javax.swing.JOptionPane.showMessageDialog(null,text1); 
							
				break;
				
			case 3:
				
				
				
				break;
				
			case 4:
				
				/*double y2=betrag(x);
				String text3;
		  		text3="Das Ergebnis ist: "+y2+"\n\n Da weißt de bescheid!!!\n"; 
		  		System.out.println(text3);
		  		javax.swing.JOptionPane.showMessageDialog(null,text3); 
		  		*/
				break;
				
				
			case 5:
				
				
				
				break;
				
			case 6:
				
			
				
				break;
								
			case 7:
				
			
				break;
				
				
			}
			}while(zahl<8);

	}
	
	public static double Eingabe()
	{
		
		String sx1 = javax.swing.JOptionPane.showInputDialog("Bitte ersten x-Wert eingeben: ");  
  		double x1=Double.parseDouble(sx1);
  		
  		String sy1 = javax.swing.JOptionPane.showInputDialog("Bitte ersten y-Wert eingeben: ");  
  		double y1=Double.parseDouble(sy1);
  		
  		String sx2 = javax.swing.JOptionPane.showInputDialog("Bitte zweiten x-Wert eingeben: ");  
  		double x2=Double.parseDouble(sx2);
  		
  		String sy2 = javax.swing.JOptionPane.showInputDialog("Bitte ersten y-Wert eingeben: ");  
  		double y2=Double.parseDouble(sy2);
  		
  			
	
	}
	
	
	
	/*public static double betrag(double x)
	{
			
		return Math.sqrt(x*x);
	}*/
	
	
	
}

Wie kann ich die Werte in der Methode Eingabe() so aufbereiten, dass ich sie mit der case 2 ausgeben kann? Also ich hätte die Idee die ganze Sache mit einem Array zu lösen, aber das Ganze müsste doch auch so funktionieren.

lg
JimK

Content-ID: 142684

Url: https://administrator.de/contentid/142684

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

laster
laster 12.05.2010 um 10:36:41 Uhr
Goto Top
Hallo JimK,

definiere die Variablen als Classvariablen (also ausserhalb der Funktionen ) und greife in den Funktionen auf sie zu.

vG
LS
mike55
mike55 12.05.2010 um 10:37:44 Uhr
Goto Top
Warum machst du das nicht mit einer Class? Auf jeden Fall kannst du nicht einfach mehrere Werte zurückgeben, die müssen alle in einer Variable zusammengefasst werden, wie z.b. in der Class.

Oder du arbeitest mit globalen Variablen... das die schnellste Methode.

Michael.

EDIT: laster war schneller ;)
JimK
JimK 21.05.2010 um 21:43:01 Uhr
Goto Top
Hey danke...
Hat super funktioniert!!!