Java (Programmiersprache)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Hehe,
      habe mir auch schon überlegt einen Java-Thread aufzumachen. Hab nämlich selbst vor einer Woche mit dem Programmieren angefangen und arbeite Stück für Stück das Buch: "Java ist auch eine Insel" durch.
      Macht schon Spaß, auch wenn der Einstieg doch extrem schwierig war. :love:
      Falls sich ein fähiger Programmierer findet, stelle ich auch mal ein paar Fragen.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Claude ()

    • Sorry, dass ich den Thread jetzt auch mal kurz ausnutze:
      Es geht um ein Beispiel aus dem Buch, wo die switch-Anweisung erklärt wird.
      Der Beispiel-Quellcode sieht so aus (Tut mir Leid, dass es alles in einer Reihe steht, irgendwie verändert nexgam die ganze Formation):


      public class Beispiel
      {

      public static void binaryOperatorOperation( char op, double x, double y )
      {
      char op = '+' ; //Den Operator habe ich dann selbst gesetzt, genauso wie die Variablen.
      x = 5;
      y = 6;
      switch ( op )
      {
      case '+':
      System.out.println( x + y );
      break;
      case '-':
      System.out.println( x - y );
      break;
      default:
      System.out.println (" Operator unbekannt ");
      }

      }
      }



      Bei dem Beispiel-Programm spuckt mir Eclipse einen Fehler aus:


      java.lang.NoSuchMethodError: main
      Exception in thread "main"


      Nach dem ich die Klasse auf wieder auf das Standart "public static void main(String[] args)" geändert habe, gings ohne Probleme:
      Kann mir das mal einer erklären? Was soll dieses "binaryOperatorOperation( char op, double x, double y )" sein?


      public class Beispiel
      {

      public static void main(String[] args)
      {
      double x = 5 ;
      double y = 6 ;
      char op = '+' ;
      switch ( op )
      {
      case '+':
      System.out.println( x + y );
      break;
      case '-':
      System.out.println( x - y );
      break;
      default:
      System.out.println (" Operator unbekannt ");
      }

      }
      }
    • kurzum, zu deinem Fehler.

      Damit sich eine Klasse selbst aufrufen kann benötigt sie eine Main Methode. Wenn dein Programm mehrere Klassen besitzt wird eine Klasse Benötigt die diese Main Methode behinhaltet um das Programm zu starten.

      Kurz: public static void main(String[] args)

      Der Fehler:
      java.lang.NoSuchMethodError: main
      Exception in thread "main"

      sag schon das ihm diese Main Methode fehlt um die Startklasse aufzurufen.

      Ein Klasse Muss nur diese Methode besitzen wenn sie das Programm startet, ansonten nicht.

      Eine Klasse kann mehrere Methoden und Daten besitzen, und genau das sollte warscheinlich in der Übung passieren.
      Zuerst die Klasse mit der Main Methode erstellen und danach eine zweite Methode deffinieren die von der Main Methode aufgerufen wird.

      Diese zweiste sollte dann wohl binaryOperatorOperation benannt werden.
      Oder auch zu Deutsch BinärOperatorOpertaionen. Man kann sie auch Heinz nennen, das ist egal, wichtiog ist der Name nur wenn man die Methode aufrufen will.

      Ich weis übrigens nicht ob das static da mit reingehört, den wrascheinlich soll die Methode nur Global verfügbar sein (public) und nichts zurückgeben (void).

      Dahinter in den Klammern ( char op, double x, double y ) werden der Klasse drei Variablen übergeben, wobei x und y nicht benötigt werden und das überschreiben der Daten in der klasse ebenfals keinen sinn ergibt.

      Ich kenn leider die aufgabe nicht, aber es wirkt doch irgebndwie chaotisch.
    • Original von KeVernichter
      ....

      Ich weis übrigens nicht ob das static da mit reingehört, den wrascheinlich soll die Methode nur Global verfügbar sein (public) und nichts zurückgeben (void).
      ...


      ich denke schon, dass das static dazugehört. Ansonsten könnte die Methode ja nicht ohne Instanz der Klasse Beispiel aufgerufen werden.
    • Mich würd mal interessieren, was ihr Experten meinst: Für die Uni wird in einer Veranstaltung Java Grundkenntisse vorausgesetzt. Da ich wechsle heißt es: Selbststudium. Würde mich daher mal interessieren, wie schwer der Einstig in Java wirklich ist, also wie ihr das einschätzt und ob das im Selbststudium mit Hilfe eines Buches in sag mal 2-3 Monaten zu bewältigen ist (wie gesagt, nur Grundkenntnisse). Programmierkenntnisse beschränken sich vor allem auf Visual Basic, außerdem HTML, da allerdings ganz ordentlich. Hab gehört, das Buch 'Java ist eine Insel' wäre sehr gut. Evtl. nen anderen/besseren Tip?
    • Hey,
      hier ist der Abschnitt, den ich gemeint habe (Das Buch gibts auch in einer Online-Version):

      Wenn ich das genauso übernehme und noch den Variablen Zahlen und dem "op" einen Operator zuordne, gibts einen Fehler. Wenn ich aber "public static void main(String[] args)" nutze, funktioniert das Programm so wie es sollte.

      Im übernächsten Punkt bei "switch hat Durchfall" steh ich dann vor dem selben Problem. Da wird schon wieder eine neue Methode eingeführt... :???:
      Wie ist das jetzt gedacht? Wie sieht der komplette Code aus? Wie kann man andere Methoden der main-Methode zuordnen?
      Das Programm selbst verstehe ich ja, also wie es funktioniert. Dennoch machen mir diese verschiedenen Methoden zu schaffen.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Claude ()

    • Original von Blues
      Mich würd mal interessieren, was ihr Experten meinst: Für die Uni wird in einer Veranstaltung Java Grundkenntisse vorausgesetzt. Da ich wechsle heißt es: Selbststudium. Würde mich daher mal interessieren, wie schwer der Einstig in Java wirklich ist, also wie ihr das einschätzt und ob das im Selbststudium mit Hilfe eines Buches in sag mal 2-3 Monaten zu bewältigen ist (wie gesagt, nur Grundkenntnisse). Programmierkenntnisse beschränken sich vor allem auf Visual Basic, außerdem HTML, da allerdings ganz ordentlich. Hab gehört, das Buch 'Java ist eine Insel' wäre sehr gut. Evtl. nen anderen/besseren Tip?

      "Java ist eine Insel" gibt es auch als Online-Version. Du kannst also schon mal schauen, ob du damit zurecht kommst. Wenns dir gefällt, kannst du es kaufen.

      Ansonsten gibts noch ein sehr gutes Buch: "Handbuch der Java-Programmierung". Dieses gibts ebenfalls als Online-Version.

      Die anderen Fragen kann ich natürlich nicht beantworten, da ich selbst noch Anfänger bin. :P
    • Wie hier schon gesagt brauchst du zwingend die "main" Methode, da diese der Startpunkt für jedes Programm ist. Ohne die Main Methode weiss der Compiler nicht wo er anfangen soll. Wenn du den Code in eine eigene Methode auslagerst, kannst du diese einfach aus der main Methode aus aufrufen, indem du den Methodennamen angibst und in Klammern die Variablen die übergeben werden sollen. In deinem Beispiel wäre das z.B.:



      public class Beispiel {


      static void binaryOperatorOperation( char op, double x, double y )
      {
      switch ( op )
      {
      case '+':
      System.out.println( x + y );
      break;
      case '-':
      System.out.println( x - y );
      break;
      case '*':
      System.out.println( x * y );
      break;
      case '/':
      System.out.println( x / y );
      break;
      }
      }

      public static void main(String[] args) {

      binaryOperatorOperation( '+', 21.0, 12.8 );
      }

      }



      Die Methode binaryOperatorOperation wird aufgerufen und ihr werden die 3 Werte '+', 21.0 und 12.8 übergeben. Oben in der Methode kannst du sehen das diese genau 3 Variablen erwartet (char, double, double). Die Werte die die Methode erhält können dann in der Methode benutzt werden.
    • Original von Claude
      "Java ist eine Insel" gibt es auch als Online-Version. Du kannst also schon mal schauen, ob du damit zurecht kommst. Wenns dir gefällt, kannst du es kaufen.

      Ansonsten gibts noch ein sehr gutes Buch: "Handbuch der Java-Programmierung". Dieses gibts ebenfalls als Online-Version.

      Die anderen Fragen kann ich natürlich nicht beantworten, da ich selbst noch Anfänger bin. :P


      galileocomputing.de/openbook/j…131c5cb3177ac5677f1ed67b9

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tom ()

    • das topic habe ich unglücklich gewählt, vorallem da javascript ja nicht java ist.
      Nur ein extra topic würde sich nicht lohnen. Ich möchte nämlich wissen ob es möglich ist eine Verknüpfung unter XP anzulegen, die nicht nur auf eine HTML Seite verlinkt, sondern gleichzeitig eine JavaScript Anweisung ausführt.

      Konkret:
      Ich kann den Link zu ICQ2go auf meinem Desktop anlegen. Bin ich auf der Seite muss ich aber erst auf einen Launch-Button klicken, der die Anweisung hat:

      javascript:openClient('flash');

      Gibts jetzt eine Möglichkeit auf irgendeine Art eine Verknüpfung auf dem Desktop zu erstellen der neben dem Link icq.com/download/icq2go/ auch direkt die Anweisung javascript:openClient('flash'); ausführt?

      Wie das umgesetzt wird ist prinzipiell egal.
    • meinst du eo ungefähr:

      <html>
      <head>
      <title>
      ICQ2Go Test
      </title>
      <script language="javascript">
      window.open('http://www.icq.com/download/icq2go/','test');
      </script>

      </head>
      <body onload="openClient('flash');"></body>
      </html>

      In diesem Fall wird aber nur die normale Seite aus dem head geöffnet