myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Java Funktionen... (https://mygully.com/showthread.php?t=2215615)

Firefox64 26.01.11 07:08

Java Funktionen...
 
Hey...

Ich bin nen ziemlicher JAVA Anfänger...
Ich möchte eine eine Funktion aufrufen diese ausführen und wieder zurück in die main...

Ist das bei java überhaupt so möglich?
Ich kenne bissher nur C/C++ und LUA...

Ich hab mal nen Beispiel Quelltext geschrieben:

Main:

Code:

import java.io.*;
public class Taschenrechner
{
    public static void main(String args[])throws IOException
    {
        int iL1;
       
        InputStreamReader isr = new InputStreamReader(System.in); //Startet die Reader
        BufferedReader br = new BufferedReader(isr);
       
        System.out.printf("Taschenrechner\n");
        System.out.printf("==============\n\n\n");
       
        System.out.printf("Was wollen Sie machen?\n");
        System.out.printf("1.Addieren\n");
        System.out.printf("2.Subtrahieren\n");
       
        String eingabe = br.readLine();
        int iAuswahlMenu = Integer.parseInt(eingabe);
       
        for(iL1=0;iL1<=5;iL1++)
        {
            System.out.printf("\n");
        }
       
        switch(iAuswahlMenu)
        {
            case 1:
            {
                //An dieser stelle soll nun die Funktion Addieren aufgerufen werden!
            }
        }     
    }

}

Addieren
Code:

import java.io.*;
public class Addition
{
    public static void Addition(String args[])throws IOException
    {
        InputStreamReader isr = new InputStreamReader(System.in); //Startet die Reader
        BufferedReader br = new BufferedReader(isr);
       
        int iSumme;
               
                System.out.printf("Addition\n");
                System.out.printf("========\n\n\n");
                System.out.printf("Geben Sie die Werte ein\n");
                System.out.printf("Zahl1: ");
                String eingabe2 = br.readLine(); 
                int iZahl1 = Integer.parseInt(eingabe2);
               
                System.out.printf("Zahl1: ");
                String eingabe3 = br.readLine();
                int iZahl2 = Integer.parseInt(eingabe3);
               
                iSumme=iZahl1+iZahl2;
               
                System.out.println("\n\nDas ergebnis ist " +iSumme);
    }

}


Firefox64 26.01.11 07:50

Zitat:

Zitat von m9716 (Beitrag 21827185)
kleiner Tipp: benutze eine While-Schleife im Hauptprogramm

Code:

boolean abbrechen = false;
while (!abbrechen) {
    // Menü anzeigen + Berechnung aufrufen
    // falls "abbrechen" im Menü ausgewählt -> abbrechen = true
}


das Programm dient ja nur dazu zu zeigen was mein Problem ist...
Hab über ne abbrechen Funktion hab ich nicht nachgedacht trotzdem danke^^

germgerm 26.01.11 14:06

Zitat:

Zitat von Firefox64 (Beitrag 21827130)
Ich kenne bissher nur C/C++ und LUA...
[/code]


Java ist doch sehr ähnlich wie C++.
Der Aufruf einer statischen Methode einer anderen Klasse in Java:

Addition.Add();

Warum machst du überhaupt eine eigene Klasse? Diese statische Methode kannst du doch gleich in der Hauptklasse unterbringen.
Eine Methode Addition in der Klasse Addition darf außerdem nur der Konstruktor sein, deswegen habe ich in dem obigen Beispiel Add() geschrieben.

Also, alles wie in C++.

Schau dir das folgende Buch an:
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Widdsen 27.01.11 15:59

Was auch nicht schlecht ist [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Java ist auch eine Insel; gut zum einsteigen!

germgerm 27.01.11 16:17

Ich habe oben auch "Java ist auch eine Insel" vorgeschlagen.
Das Pdf ist natürlich am ebook-Reader einfacher ^^

Widdsen 27.01.11 16:37

ohhh^^ sorry ! hab nicht alle posts vollständig gelesen^^ bzw. hab deinen link nicht angeklickt :P

Banghard 27.01.11 17:29

Beim Link von germgerm handelt es sich um eine alte Auflage (4.). Hier ein Link zur aktuellen 8. Auflage:

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

germgerm 28.01.11 07:30

Zitat:

Zitat von Banghard (Beitrag 21833444)
Beim Link von germgerm handelt es sich um eine alte Auflage (4.) [...]

Habe mich verklickt, hier ist die neunte Auflage ^^

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Delta538 28.01.11 19:34

Wenn du bis jetzt immer noch keine Lösung hast kann vielleicht das hier helfen wenn du eine Lösung hast kannst du das einfach ignorieren.

Taschenrechner:

Code:

import java.io.*;
public class Taschenrechner
{
    public static void main(String args[])throws IOException
    {
        int iL1;
       
        Addieren add = new Addieren(); //erzeugung eines Objektes von der Klasse Addieren
       
        InputStreamReader isr = new InputStreamReader(System.in); //Startet die Reader
        BufferedReader br = new BufferedReader(isr);
       
        System.out.printf("Taschenrechner\n");
        System.out.printf("==============\n\n\n");
       
        System.out.printf("Was wollen Sie machen?\n");
        System.out.printf("1.Addieren\n");
        System.out.printf("2.Subtrahieren\n");
       
        String eingabe = br.readLine();
        int iAuswahlMenu = Integer.parseInt(eingabe);
       
        for(iL1=0;iL1<=5;iL1++)
        {
            System.out.printf("\n");
        }
       
        switch(iAuswahlMenu)
        {
            case 1:
            {
                add.rechnen();// aufrufen der Methode mit hilfe des Objektes
            }
        }     
    }

}

Addieren
Code:

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

public class Addieren {
   
    /**
    * Da eine normale Methode hier gebraucht wird muss diese
    * geändert werden
    */
    public void rechnen() throws IOException{
        InputStreamReader isr = new InputStreamReader(System.in); //Startet die Reader
            BufferedReader br = new BufferedReader(isr);
           
            int iSumme;
                   
                    System.out.printf("Addition\n");
                    System.out.printf("========\n\n\n");
                    System.out.printf("Geben Sie die Werte ein\n");
                    System.out.printf("Zahl1: ");
                    String eingabe2 = br.readLine(); 
                    int iZahl1 = Integer.parseInt(eingabe2);
                   
                    System.out.printf("Zahl1: ");
                    String eingabe3 = br.readLine();
                    int iZahl2 = Integer.parseInt(eingabe3);
                   
                    iSumme=iZahl1+iZahl2;
                   
                    System.out.println("\n\nDas ergebnis ist " +iSumme);

    }
   
}

Da ich persönlich nicht so gerne mit Statischen Methoden arbeite hab ich das hier geändert! Wenn du das jedoch nicht willst und die Methode ohne Objekt aufrufen willst lösch folgenden Eintrag wieder:
Code:

Addieren add = new Addieren();
und ändere den Aufruf der Methode zu dem hier
Code:

Addieren.rechnen();
zuletzt muss dann noch die Methode in der Klasse Addieren static machen
Code:

public static void rechnen()
Wenn du noch fragen hast kann ich versuchen diese zu beantworten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:49 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.