kleines Java Programm

Diskutiere kleines Java Programm im Webmaster Hilfe / Programmierer Forum Forum im Bereich Computerprobleme; Hallo, ich muss ein kleines Java Programm schreiben. Bin aber ein Großer Anfänger und weiss gar nicht wie ich es schreiben soll. Die Aufgabe...

  1. Ridak

    Ridak Neuer Benutzer

    Dabei seit:
    05.06.2009
    Beiträge:
    28
    Zustimmungen:
    0
    Hallo,

    ich muss ein kleines Java Programm schreiben. Bin aber ein Großer Anfänger und weiss gar nicht wie ich es schreiben soll.
    Die Aufgabe lautet: Programmieren sie zwei kleine Programm bei Java. Eines der beiden Programme soll in regelmäßigen Abständen(z.b. 500ms) den String "Haus", das andere den String "Berg" ausgeben.

    Habe bis jetzt nur das brauche dringend Hilfe:
    Public class Aufgabe {
    public static void main(String[]args) {
    int zaehler = 1;
     
  2. Anzeige

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. heinzl

    heinzl .

    Dabei seit:
    29.01.2008
    Beiträge:
    8.323
    Zustimmungen:
    15
    Meinst du wirklich, daß es DIR was bringt, wenn wir das für dich machen? :rolleyes:
     
  4. #3 xandros, 22.09.2009
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    26.068
    Zustimmungen:
    109
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    ... genau. Wir sind nicht dafür da, anderen die Hausaufgaben zu erledigen!

    In welchem Zusammenhang stehen die beiden Programme? Sollen die Ausgaben parallel auf einem Rechner erfolgen oder jeweils nur, wenn das entsprechende Programm gestartet wird?

    Schau dir z.B. in der Java-Insel (http://openbook.galileocomputing.de/javainsel8/) mal die Schleifenfunktionen an.
    (Damit du dir nicht selbst ein Bein stellst, solltest du eine Ausstiegsbedingung festlegen, damit du das Programm beenden kannst. Sonst fängst du dich in einer Endlosschleife!)
     
  5. Ridak

    Ridak Neuer Benutzer

    Dabei seit:
    05.06.2009
    Beiträge:
    28
    Zustimmungen:
    0
    Nein es soll keine Exit funktion oder so was geben. Endlosschleife halt.
    Also mein Code sieht jetzt so aus.
    Code:
    public class Aufgabe {
       
      public static void main(String[] args) {
      int var=1;
      while(var < 10)
      {
      System.out.println("Haus");
      }
      }
    
     }
    
    [edit von xandros: Code-Tags eingefügt.]

    und das selbe noch mal halt mit einem anderen Wort. Aber die beiden Wörter sollen in verschiedenen Zeitabständen erscheinen also es soll einen Zähler enthalten...
     
  6. Sviper

    Sviper Guest

    [quote='Ridak',index.php?page=Thread&postID=781674#post781674]
    int var=1;
    while(var < 10)[/quote]

    Kreative Lösung für eine Endlosschleife. Eleganter ist aber:

    Code:
    while(true)
    Wie du siehst, hat das Forum übrigens Code-Tags. Bitte benutzen!

    [quote='Ridak',index.php?page=Thread&postID=781674#post781674] Aber die beiden Wörter sollen in verschiedenen Zeitabständen erscheinen also es soll einen Zähler enthalten...[/quote]

    Ist ne schöne Lösung - für Mikrocontroller, wo Befehle eine feste Zeit benötigen und denen es nix ausmacht die gesamte CPU-Zeit mit zählen zu verbringen. Ich befürchtejedoch, das ist im vorliegenden Fall nicht der Fall...
     
  7. LowBob

    LowBob Erfahrener Benutzer

    Dabei seit:
    22.06.2009
    Beiträge:
    629
    Zustimmungen:
    0
    Ort:
    Lübeck
    Ich selber Programmiere kein Java aber denke mir dort wirds doch sicher auch was wie: set_timeout, sleep() oder delay geben.
     
  8. #7 xandros, 24.09.2009
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    26.068
    Zustimmungen:
    109
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Daraus entnehme ich, dass du zwei Klassen und zwei Main-Funtionen hast.
    Desweiteren deute ich das so, dass beide Begriffe aus einem Programm abwechselnd ausgegeben werden sollen......

    In einem Programm gibt es immer nur ein Main! Dieses steuert dann die Funktionen -> Die Ausgaben sollten also nicht im MainBlock liegen, sondern in einer Funktion, die nach einer gewissen Zeit von Main aufgerufen wird.
     
  9. Sviper

    Sviper Guest

    Für mich klingt's eher so, als wolle er 2 ähnliche Programme haben-

    [quote='xandros',index.php?page=Thread&postID=781765#post781765]Die Ausgaben sollten also nicht im MainBlock liegen, sondern in einer Funktion, die nach einer gewissen Zeit von Main aufgerufen wird.[/quote]

    Ob du nun in der main die Funktion, die die Ausgabe aufruft aufrufst, oder gleich die Ausgabe selbst, sollte doch keinen großen Unterschied machen, oder?
    Allerdings stell ich mir es dann schon etwas kompliziert vor, beide Ausgaben vom main-Thread machen zu lassen. Da muss man dann als sleep-Zeit den ggT aus den beiden Aufrufintervallen für die Ausgabefunktionen nehmen. Und dann noch einen Zähler pro Ausgabe, weil die ja dann erst nach einem vielfachen der sleep-Zeit aufgerufen werden.
    Meiner Meinung nach ist es da einfacher, einfach 2 Threads zu erstellen, die die Ausgabe übernehemen.
     
  10. #9 xandros, 24.09.2009
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    26.068
    Zustimmungen:
    109
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Das macht sehr wohl einen Unterschied.
    Wenn alles im Main liegt, dann hast du Spagetticode, der heutzutage zum schlechten Stil gehört. Verwendet man für jede "Aufgabe" eine Funktion, befindet man sich im Bereich OOP, was der elegantere Weg und auch sinnvoll ist.

    Und bei Sprachen, die OOP-fähig sind, sollte man das von Anfang an nutzen, damit man sich die Arbeitsweise eintrichtert.
     
  11. Sviper

    Sviper Guest

    Aber doch nicht bei "Aufgaben", die nur aus einer Ausgabe bestehen. Oder willst du wirklich eine Funktion basteln die einmal System.out.println aufruft und dann zurückkehrt?
     
  12. Anzeige

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  13. #11 lincolnhawk, 24.09.2009
    lincolnhawk

    lincolnhawk Erfahrener Benutzer

    Dabei seit:
    24.03.2009
    Beiträge:
    397
    Zustimmungen:
    0
    [quote='Sviper',index.php?page=Thread&postID=781802#post781802]Aber doch nicht bei "Aufgaben", die nur aus einer Ausgabe bestehen. Oder willst du wirklich eine Funktion basteln die einmal System.out.println aufruft und dann zurückkehrt?[/quote]Genau genommen macht DAS eine Funktion gerade nicht, denn eine Funktion liefert immer einen Wert zurück.

    Z.B.:
    Code:
    public int sum(int a, int b) 
    {
     	return a + b;
    }
    
    Was du meinst ist eine Methode. Das ist ein gewaltiger Unterschied, denn diese besitzt im Methodenrumpf immer das Schlüsselwort void.
    Das nur der Vollständigkeit halber, da wir hier einen Programmieranfänger als Threadstarter haben.

    Und wo wir grad bei Threads sind, hat Sviper schon genau das richtige angesprochen.
    Threads in Java haben die Methode
    Code:
    sleep()
    Das ist hier auf jeden Fall sinnvoll und löst das Problem auf einfache, und vor allem, saubere Weise.

    Edit: Außerdem gebe ich xandros recht.
    Da man heutzutage objektorientiert Programmiert und Java auch ohne Zweifel eine objektorientierte Programmiersprache ist, sollte man sich gleich, gerade als Anfänger, diese Programmierweise und daher Kapselung in Methoden und Funktionen angewöhnen.
     
  14. Sviper

    Sviper Guest

    [quote='lincolnhawk',index.php?page=Thread&postID=781850#post781850]Was du meinst ist eine Methode. Das ist ein gewaltiger Unterschied, denn diese besitzt im Methodenrumpf immer das Schlüsselwort void.
    Das nur der Vollständigkeit halber, da wir hier einen Programmieranfänger als Threadstarter haben.[/code][/quote]

    Wenn wir grade schon dabei sind, dann auch ganz korrekt:
    Ein Methode kann auch einen Rückgabewert haben. Was du meinst ist eine Prozedur. Der Begriff Methode drückt nur aus, dass die Subroutine (um mal den allgemeinsten Begriff einzuführen) zu einem Objekt bzw. gehört Klasse (was in Java ja immer der Fall ist). Generell sind alle diese Begriffe jedoch schwammig wie sonst was und je nach Kontext anders zu verstehen.

    [quote='lincolnhawk',index.php?page=Thread&postID=781850#post781850]Edit: Außerdem gebe ich xandros recht.
    Da man heutzutage objektorientiert Programmiert und Java auch ohne Zweifel eine objektorientierte Programmiersprache ist, sollte man sich gleich, gerade als Anfänger, diese Programmierweise und daher Kapselung in Methoden und Funktionen angewöhnen.[/quote]

    Aber du willst mir jetzt nicht erzählen, dass sowas wie:

    Code:
     public class Aufgabe
    {
        private void WriteSomething(String str)
        {
            System.out.println(str);
        }
    
        public static void main(String[] args)
        {
            WriteSomething("Haus");
        }
    }
    
    guter Programmierstil ist?!? Das hat nichts mit Kapselung zu tun, und ineffizient ist es auch noch.
     
Thema: kleines Java Programm
Die Seite wird geladen...

kleines Java Programm - Ähnliche Themen

  1. Programme im Hintergrund über das Netzwerk installieren.

    Programme im Hintergrund über das Netzwerk installieren.: Moin, gibt es irgendwie die Möglichkeit, Programme im Netzwerk, im Hintergrund, mit Adminrechten auf einem anderen Arbeitsplatz zu installieren....
  2. Kauf eines gebrauchten Programms

    Kauf eines gebrauchten Programms: Ein unwissendes Mitglied fragt: Lässt sich ein gebrauchtes Programm unbedenklich auf seinen Rechner laden? vg an alle
  3. Lizenz für ein Programm

    Lizenz für ein Programm: Wir haben ein ACDsee Programm gekauft, das nur 1 Lizenz besitzt. Kann man das Programm auch auf mehrere Rechner installieren? vg, großer-dummy
  4. Welches Free Norton Programm würdet ihr empfehlen?

    Welches Free Norton Programm würdet ihr empfehlen?: 1. Frage: s. oben 2. Frage:Was muss bei einem Download eines Programmes beachtet werden? vg, großer-dummy
  5. Welches Viren-Programm ist am besten?

    Welches Viren-Programm ist am besten?: Hi leute, ich nutzer seit längerem Avira und bin eigentlich zufrieden. ich habe über einen bekannten erfahren, dass er kaspersky nutzt und dass es...