Java - Ausgliederung einer Funktion

Diskutiere Java - Ausgliederung einer Funktion im Developer Network Forum im Bereich Hardware & Software Forum; Hallo, ich habe ein Programm geschrieben was ich nun in einer eigenen Methode laufen lassen will. public class Felder2 { public static...
  • Java - Ausgliederung einer Funktion Beitrag #1
K

Kdell

Mitglied
Dabei seit
17.03.2006
Beiträge
11
Reaktionspunkte
0
Hallo,

ich habe ein Programm geschrieben was ich nun in einer eigenen Methode laufen lassen will.
Code:
public class Felder2 
{
		public static void main (String[] args) throws IOException
	  {
	    InputStreamReader inStream =				//
	        new InputStreamReader( System.in ) ;
	    BufferedReader reader1 =
	        new BufferedReader( inStream );

	   String inData;
	   
	   System.out.println("Eingabe:");
	    inData = reader1.readLine(); 
	    
	    String[] felder=(inData, delim);
		String    text    = inData;
        char    delim     = '|';
        
        int     i = 0;
        int     j = 0;
        String     tmp = "";
        System.out.println("Ausgabe: \n");
        while (j < text.length()) 
        {
            if (text.charAt(j) == delim) 
            {
                tmp = text.substring(i, j);
                System.out.println(tmp.length() == 0 ? "LEER" : tmp);
                i = ++j;
            }
            else
                j++;
        }
        tmp = text.substring(i, j);
        System.out.println(tmp.length() == 0 ? "LEER" : tmp);
	  } 
}


Diese folgende Logik will ich in mein Programm integrieren:


Code:
Public String[] splitMyString(String orgString, String delim) {
  String result[]=null;
  return result;
}



Diese Methode muss dann im eigentlichen Programm aufrufbar sein.

Also nach der Stelle:

Code:
 System.out.println("Eingabe:");
            inData = reader1.readLine();

folgt somit

Code:
String[] felder=(inData, delim);
Und anschließend dann die Ausgabe von felder[]

Code:
 printMyArray(felder);


Bitte um Hilfe da ich nicht mehr weiter weiß

Mit freundlichem Gruß
 
  • Java - Ausgliederung einer Funktion Beitrag #2
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

warum moechtest Du denn das Rad neu erfinden? Hattest Du meine Antwort auf Deinen ersten Thread zu diesem Thema gelesen?

Gruss, FFNB.
 
  • Java - Ausgliederung einer Funktion Beitrag #3
K

Kdell

Mitglied
Dabei seit
17.03.2006
Beiträge
11
Reaktionspunkte
0
hallo

ja ich habe deine Antwort im anderen Threat gelesen und bedanke mich für sie.

Warum ich das Rad neu erfindnen will?!

Weil mir diese Aufgabe gestellt wurde und ich sie lösen möchte.

Es hapert ja nicht an der Logik sondern an der Umsetzung in Code.

Ich bitte nochmals um Hilfe

Mit freundlichem Gruß
 
  • Java - Ausgliederung einer Funktion Beitrag #4
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

was ist denn genau die Aufgabe? Auch habe ich das Problem, dass Tokenizen in eine eigene Methode auszulagern nicht ganz verstanden. Du hast Doch schon alles was Du dazu brauchst. Wo genau liegt Dein Problem bzw. was bekommst Du nicht hin?

Gruss, FFNB.
 
  • Java - Ausgliederung einer Funktion Beitrag #5
K

Kdell

Mitglied
Dabei seit
17.03.2006
Beiträge
11
Reaktionspunkte
0
Hallo,

ich möchte den String über einen Array auslesen also,

Code:
Public String[] splitMyString(String orgString, String delim) {
  String result[]=null;
  //to do - hier bestehende Logik ausformulieren
  return result;
}

damit ich weiter unten das Ergebniss über
Code:
printMyArray(felder);

ausgeben kann.

Mit freundlichem Grüß
 
  • Java - Ausgliederung einer Funktion Beitrag #6
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

na dann mach das doch so. ;)

Am besten Du schreibst den Code erstmal so wie Du denkst und dann suchen wir zusammen mal dem Fehler... wenn es dann ueberhaupt einen gibt. Deine Herangehensweise ist naemlich erstmal nicht verkehrt.

Gruss, FFNB.
 
  • Java - Ausgliederung einer Funktion Beitrag #7
K

Kdell

Mitglied
Dabei seit
17.03.2006
Beiträge
11
Reaktionspunkte
0
Hallo

hier liegt ja schon mein Problem.

Ich hab keine Ahnung wie und wo ich die Methode

Code:
Public String[] splitMyString(String orgString, String delim) {
  String result[]=null;
  //to do - hier bestehende Logik ausformulieren
  return result;
}

in meinen Code integrieren soll.

Außerdem fehlt mir im Moment jedlicher Ansatz zur Lösung -_-

Mit freundlichem Gruß
 
  • Java - Ausgliederung einer Funktion Beitrag #8
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

Du hast ja schon eine Methode in Deinem Code - und zwar die "main" Methode. Ein guter Platz fuer Deine Methode waere hinter dieser Methode - also nach der schliessenden Klammer der "main" Methode.

Solche Methodenaufrufe aus der "main"-Methode heraus sind zwar, da man sich dort noch im "static"-Kontext befindet nicht schick - aber das kriegen wir hin. Spaeter dazu mehr. ;)

Gruss, FFNB.
 
  • Java - Ausgliederung einer Funktion Beitrag #9
Okraml

Okraml

Bekanntes Mitglied
Dabei seit
02.11.1999
Beiträge
1.687
Reaktionspunkte
0
Ort
Ossi
Hallo

hier liegt ja schon mein Problem.

Ich hab keine Ahnung wie und wo ich die Methode

Code:
Public [COLOR="Red"]static[/COLOR] String[] splitMyString(String orgString, String delim) {
  String result[]=null;
  //to do - hier bestehende Logik ausformulieren
  return result;
}

in meinen Code integrieren soll.

Außerdem fehlt mir im Moment jedlicher Ansatz zur Lösung -_-

Mit freundlichem Gruß

einfach deine Methode in static ändern, dann kannst du die auch direkt aufrufen.

:) Okraml
 
  • Java - Ausgliederung einer Funktion Beitrag #10
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

ich dachte eigentlich wir suchen im Dialog nach der Loesung - da waere evtl. der Lerneffekt groesser. Wie auch immer - fuer Ungeduldige poste ich hier mal eine moegliche Loesung:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Felder2
{
public static void main (String[] args) throws IOException
{
InputStreamReader inStream = new InputStreamReader(System.in);
BufferedReader reader1 = new BufferedReader(inStream);

System.out.println("Eingabe:");
String inData = reader1.readLine();

String delim = "\\|";
String[] felder = splitMyString (inData, delim);

for (String text : felder)
{
System.out.println(text);
}
}

private static String[] splitMyString(String orgString, String delim)
{
return orgString.split(delim);
}
}
Gruss, FFNB.

PS: Warum lassen sich eigentlich code und spoiler Tags nicht verschachteln?
 
  • Java - Ausgliederung einer Funktion Beitrag #11
K

Kdell

Mitglied
Dabei seit
17.03.2006
Beiträge
11
Reaktionspunkte
0
Hallo,

danke für eure Antworten :)


Ich möchte aber nicht die "Split" Funktion für den Datentyp "String" verwenden.

Das habe ich leider vergessen zu erwähnen (siehe meinen Quellcode).


Mit freundlichen Grüßen
 
  • Java - Ausgliederung einer Funktion Beitrag #12
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Ich möchte aber nicht die "Split" Funktion für den Datentyp "String" verwenden.
Warum nicht? Ob Du nun Split / Regex oder meinen Code benutzt ist doch egal. Ersteres ist natürlich eleganter.

Eigentlich hast Du alles was Du brauchst. Du brauchst nur noch meinen Code in die mySplitString-Funktion zu setzen.
Vielleicht noch ein Tipp: Da ja zu Anfang noch nicht bekannt ist, aus wie vielen Strings das Ergebnis besteht, ist ein Array ungünstig. Nimm stattdessen besser ein Vector<String>. Das ist so etwas wie ein dynamisches Array.
 
Thema:

Java - Ausgliederung einer Funktion

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben