String von einer Methode in die andere übergeben

blackpage

Grünschnabel
Hey,

hab ganz neu angefangen Java zu lernen und würde jetzt gern einen String den ich in einer Methode einlese, in eine andere Methode übergeben um mit ihm dort dann zu arbeiten.

Nur iregdnwie will es nicht so ganz klappen.


Mal ein Beispiel:

Das hab ich bis jetzt in meiner ersten Methode:

beliebigerString = methode2(args[0], args[1]);


und meine 2. Methode sieht so aus:

private static int[][] methode2


Was müsste ich jetzt in die 2. Methode schreiben, damit ich mit denStrings aus args[0] und args[1] arbeiten kann? Ich brauch das eingebene vorerst nur als String.

Wie ich es in int umwandle weiß ich glaub ich.
 
Moin,

so ganz verstehe ich Diene Frage nicht - zumal nicht klar, WAS Du eigentlich genau machen willst .... :rolleyes:

Das hab ich bis jetzt in meiner ersten Methode:
beliebigerString = methode2(args[0], args[1]);
Diese Methode soll also zwei Strings bekommen und einen Beliebigen zurück liefern - soweit klar!

und meine 2. Methode sieht so aus:
private static int[][] methode2
Was müsste ich jetzt in die 2. Methode schreiben, damit ich mit denStrings aus args[0] und args[1] arbeiten kann? Ich brauch das eingebene vorerst nur als String.

Java:
private static int[][] methode2( String S1, String S2 )
{
    // tue irgendwas
}

// Aufruf:
int myArray[][] = methode2( args[0], args[1] );


Wie ich es in int umwandle weiß ich glaub ich
Was genau meinst Du :confused:
Sowas :confused:
Java:
String strMyString = "123";
int i = Integer.parseInt( strMyString );

Gruß
Klaus
 
Danke schonmal.

Ich will nur wissen wie ich den String den ich in Methode 1 übergeben bekam , wie ich den in Methode 2 nutzen kann ohne, dass diese Fehlermeldung kommt "args cannot be resolved to a variable".

Ich hab ein array in meiner 2. Methode, das so aussieht:

int[][] arrayName = new int[3][3];

jetzt will ich dem array den String an Stelle 0,0 und Stelle 1,1 zuweisen. Nur bekam ich ja den String in der anderen Methode übergeben. brauch ihn aber jetzt in Methode2

arrayName[0][0]= args[0];
arrayName[1][1]= args[1];


Aber so funktioniert es nicht..
 
*** Benutze bitte die Code-Tags ****** ***

Wenn Du die Strings, die an die erste Methode übergeben, auch in der Zweiten brauchst, dann musst Du sie halt - so wie oben von mir beschrieben - ebenfalls an die zweite Methode übergeben ..... :rolleyes:

Das Umwandeln eines String in einen Integer (so es denn einer ist), steht auch in meinem ersten Post!

Irgendwie verstehe ich Dein Problem noch nicht so ganz .... am Besten postet Du mal den gesamten Code und beschreibst genauer, was Du eigentlich machen willst !

BTW: "Aber so funktioniert es nicht" ist KEINE Fehlerbeschreibung ;-]

Gruß
Klaus
 
hey,
ich hab aktuell keinen bestimmten Code, weil ich das Problem bei vielen habe, dass ich machen möchte.

Hier mal einer der Codes:


Code:
public class ZahlenSheet {
	public static void main(String[] args) {
		
			Zahlen = meineZahlen(args[0], args[1]);
			
		
}

private static int[][] meineZahlen {
	
	
int[][] meinArray = new int[2][2]

		
	    
meinArray[0][0] =args[0]
meinArray[1][0] =args[1]


int x=meinArray[0][0]
int y=meinArray[1][0]


int ergebnis =x*y;


}
}


Nun will ich einfach, dass in mein Array die Zahlen reingehen, die in der ersten Methode als args0 und args1 vorliegen.
 
Hallo blackpage,

Deine Definition von meineZahlen hat keinen gültigen Funktionskopf. Ein Funktionskopf sieht folgendermassen aus:
Java:
modifizierer rückgabetype name(parameter)

Wenn du also offensichtlich 2 Strings an die Funktion übergeben willst, dann musst du das auch so angeben:
Java:
private static int[][] meineZahlen(String str1, String str2) {
   // ...
}

Ich würde dir vorschlagen dass du dir mal ein (e)Buch zulegst mit den nötigen Grundlagen. Hier zum Beispiel findest du bereits alles wichtige:
http://openbook.galileocomputing.de/javainsel/

Gruss
Muepe
 
Moin,

Dein Code
Java:
// hier fehlen übrigens die meisten abschließenden Semikolon
public class ZahlenSheet 
{
    public static void main(String[] args) 
    {
	Zahlen = meineZahlen(args[0], args[1]);
    }
 
    private static int[][] meineZahlen // hier fehlt die Parameterliste !
    {
        int[][] meinArray = new int[2][2] // wieso denn zweidimensional ?
        
        meinArray[0][0] =args[0] // 'args' sind Strings, passen also so nicht 
        meinArray[1][0] =args[1] // in ein int-Array !
 
        int x = meinArray[0][0]
        int y = meinArray[1][0]
  
        int ergebnis =x*y;
	
	// return-Anweisung fehlt für die Rückgabe
	// sollen die einzelnen Zahlen oder deren Produkt zurückgegeben werden ?
    }
}

Schau mal hier :
Java:
public class ZahlenSheet 
{
    public static void main(String[] args) 
    {
	int iZahl = meineZahlen(args[0], args[1]);
    }
 
    private static int meineZahlen( String s1, String s2 )
    {
        int x = Integer.parseInt( s1 );
        int y = Integer.parseInt( s2 );
  
        int ergebnis = x * y;
	return ergebnis; // ohne dies wird nicht zurückgegeben
    }

// ##################### warum nicht gleich :
//    public static void main(String[] args) 
//    {
//        int x = Integer.parseInt( args[0] );
//        int y = Integer.parseInt( args[1] );
//    }
}

Und nochmal: was genau willst Du denn eigentlich machen ?

Gruß
Klaus
 
Moin,

Dein Code
Java:
// hier fehlen übrigens die meisten abschließenden Semikolon
public class ZahlenSheet 
{
    public static void main(String[] args) 
    {
	Zahlen = meineZahlen(args[0], args[1]);
    }
 
    private static int[][] meineZahlen // hier fehlt die Parameterliste !
    {
        int[][] meinArray = new int[2][2] // wieso denn zweidimensional ?
        
        meinArray[0][0] =args[0] // 'args' sind Strings, passen also so nicht 
        meinArray[1][0] =args[1] // in ein int-Array !
 
        int x = meinArray[0][0]
        int y = meinArray[1][0]
  
        int ergebnis =x*y;
	
	// return-Anweisung fehlt für die Rückgabe
	// sollen die einzelnen Zahlen oder deren Produkt zurückgegeben werden ?
    }
}

Schau mal hier :
Java:
public class ZahlenSheet 
{
    public static void main(String[] args) 
    {
	int iZahl = meineZahlen(args[0], args[1]);
    }
 
    private static int meineZahlen( String s1, String s2 )
    {
        int x = Integer.parseInt( s1 );
        int y = Integer.parseInt( s2 );
  
        int ergebnis = x * y;
	return ergebnis; // ohne dies wird nicht zurückgegeben
    }

// ##################### warum nicht gleich :
//    public static void main(String[] args) 
//    {
//        int x = Integer.parseInt( args[0] );
//        int y = Integer.parseInt( args[1] );
//    }
}

Und nochmal: was genau willst Du denn eigentlich machen ?

Gruß
Klaus

Ich will nichts bestimmtes machen, ich will doch nur wissen wie ich mit dem String in der 2. Methode arbeiten kann.


Methode 1 ist gegeben. Da soll nichts geändert werden. Und ich will einfach nur beispielsweise die Strings in Methode 2 ausgeben können oder damit rechnen oder sonst was.
Ich will, dass die beiden Strings egal wie in der Methode 2 sind.

Aber wie krieg ich die da hin?
 
Alle deine Fragen wurden doch jetzt bereits beantwortet, sogar noch mit Code! Was ist denn jetzt noch das Problem?
 
Ich will nichts bestimmtes machen, ich will doch nur wissen wie ich mit dem String in der 2. Methode arbeiten kann.
Methode 1 ist gegeben. Da soll nichts geändert werden. Und ich will einfach nur beispielsweise die Strings in Methode 2 ausgeben können oder damit rechnen oder sonst was.
Ich will, dass die beiden Strings egal wie in der Methode 2 sind.
Aber wie krieg ich die da hin?

Auch auf die Gefahr, mich zu wiederholen .... indem Du sie an die Methode übergibst (so wie oben schon mehrfach beschrieben) !!

Wenn du also offensichtlich 2 Strings an die Funktion übergeben willst, dann musst du das auch so angeben:
Java:
private static int[][] meineZahlen(String str1, String str2) 




{
// ...
}

Deine Methode1 ist dafür VÖLLIG unerheblich ! ! !

Gruß
Klaus

EDIT: zu spät :-(
 

Neue Beiträge

Zurück