Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Java » Methodenrückgabe-Wert soll in anderer Methode eingesetzt werden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.06.2008, 13:34 Uhr
~studiXXL
Gast


Hallo Leute,

folgende Situation:

Es gitbt 2 Methoden:

1) Die erste Methode erstellt einen Kalender und soll die aktuelle Woche ausgeben (als return) ausgeben.


public int getKW () {
Calendar todayKW = Calendar.getInstance();
int aktuelleKW = todayKW.get(Calendar.WEEK_OF_YEAR);
return aktuelleKW;
}


2) Die zweite Methode soll den return-Wert der obigen annehmen

public int getRestlicheLaufzeit(int aktuelleKW) {
int tmp = 0;
int Auftragsende = Ende;
tmp = Auftragsende - aktuelleKW;

return tmp;
}

Das funktioniert leider nicht.Als Fehlermeldung erscheint "cannot be applied to ()"
Hoffe, dass dringend einer helfen kann. Danke!

gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.06.2008, 12:38 Uhr
~B.Nutzer
Gast



Code:
java Test 24
thoden sind nicht falsch... hier nochmal eingepackt in eine Klasse Test mit etwas kuerzerem Code:

C++:
public class Test {
    int Ende;

    public int getKW() {
        return Calendar.getInstance().get(Calendar.WEEK_OF_YEAR);
    }

    public int getRestlicheLaufzeit(int aktuelleKW) {
        return Ende - aktuelleKW;
    }

    //Weitere Methoden, eine main Methode... was auch immer...
}

Benutzen kannst du die Methoden, nachdem du "Ende" einen Wert zugewiesen hast, dann so:

C++:
Test t = new Test();
t.Ende = 4;
int result = t.getRestlicheLaufzeit(t.getKW());


Hier noch eine Beispiel main Methode...

C++:
public static void main(String[] args) {
    if(args.length < 1) {
        System.out.println("usage: Test <weeknumber>");
        System.exit(1);
    }

    try {
        int i = Integer.parseInt(args[0]);
        if(i > 0 && i < 44) {
            Test t = new Test();
            t.Ende = i;
            int ergebnis = t.getRestlicheLaufzeit(t.getKW());
            if(ergebnis > 0)
                System.out.println("Es sind noch "+ ergebnis + " Wochen.");
            else
                System.out.println("Vor "+ ergebnis*(-1) + " Wochen haette es fertig sein sollen.");
        }
        else {
            System.out.println("Woche muss zwischen 1 und 43 sein.");
        }
    } catch(NumberFormatException e) {
        System.out.println("Falscher Parameter. Geben Sie eine Zahl zwischen 1 und 43 an.");
        System.exit(1);
}



Fuegst du diese main-Methode in die Klasse oben ein und speicherst die Datei als Test.java kannst du das Programm, nachdem es kompiliert wurde, so verwenden|CODE||
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.06.2008, 17:13 Uhr
0xdeadbeef
Gott
(Operator)


Denkbar wäre auch eine Überladung a la

C++:
    public int getRestlicheLaufzeit(int aktuelleKW) {
        return Ende - aktuelleKW;
    }

    public int getRestlicheLaufzeit() {
        return getRestlicheLaufzeit(getKW());
    }


Das sieht in Java zwar deutlich ekliger aus, als man das von anderen Sprachen gewöhnt ist, tut seinen Zweck aber auch.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 22.06.2008 um 17:14 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Java ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: