tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
211
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    EddieG EddieG ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    216
    Hi,
    ich versuche eine Funktion zu bauen, die den Größten gemeinsamen Teiler zweier zahlen ausgibt.
    Allerdings wird bei mir die zweite Methode rot unterstrichen und ich finde den Fehler nicht!
    PHP-Code:
    public class Aufgabe5 {

        
    /**
         * @param args
         */

        
        
    public static void main(String[] args) {
            
    // TODO Auto-generated method stub

            
    String aEingabe javax.swing.JOptionPane.showInputDialog("Geben Sie a Ein");
            
    int a Integer.parseInt(aEingabe);
            
            
    String bEingabe javax.swing.JOptionPane.showInputDialog("Geben Sie b Ein");
            
    int b Integer.parseInt(bEingabe);
            
            
    int ergebnis;
            
    ergebnis GGT_Rechnung(a,b);
        }
        
        public static 
    int GGT_Rechnung(int a,int b)
        {

        
    int ergebnis;
            if (
    a==b)
            {
                return 
    a;
            }
            else if (
    a>b)
            {
                
    ergebnis GGT_Rechnung(a-b,b);
                
            }
            else if (
    a<b)
            {
                return 
    a;
            }
        
        }


    Geändert von EddieG (03.11.08 um 11:54 Uhr)
     

  2. #2
    Avatar von hammet
    hammet hammet ist offline himekishi
    Registriert seit
    Aug 2006
    Ort
    Bayern
    Beiträge
    334
    Im ersten "else if" hast du keinen Rückgabewert.
     
    Handlanger des Dr. Ex1tus

    Ich kenne Matzes dunkles Geheimnis ! oO

    o
    L_/
    OL
    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.

    Hallo Nuray!

  3. #3
    EddieG EddieG ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    216
    Ändert nichts an der Sache es heißt in der Zeile
    public static int GGT_Rechnung(int a,int b)
    This method must return a result of typ int
    Geändert von EddieG (03.11.08 um 11:57 Uhr)
     

  4. #4
    Avatar von hammet
    hammet hammet ist offline himekishi
    Registriert seit
    Aug 2006
    Ort
    Bayern
    Beiträge
    334
    Ja, du hast auch keinen else-Fall. Wenn keiner deiner Abfragen ein true zurückliefert würde diene Methode nichts zurückgeben, ergo entsteht ein Fehler. Sorry den Fall hatte ich übersehen. Also entweder du setzt an beiden Stellen ein return, oder ein return, nach allen Abfragen.


    Zudem möchte ich dich auf die Nettique hinweisen, in der steht, dass auf Groß- und Kleinschreibung geachtet werden soll.
     
    Handlanger des Dr. Ex1tus

    Ich kenne Matzes dunkles Geheimnis ! oO

    o
    L_/
    OL
    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.

    Hallo Nuray!

  5. #5
    EddieG EddieG ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    216
    Habe die Rechtschreibung verbessert...
    Uhm ich habe es nun so geschrieben
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    public static int GGT_Rechnung(int a,int b)
        {
     
        int e;
        e = 0;
            if (a==b)
            {
                
            }
            else if (a>b)
            {
                e = GGT_Rechnung(a-b,b);
                
                
            }
            else if (a<=b)
            {
            e=a;
            }
            return e;
     
        }
     
    }
    Ok ich habe es
    DANKE!
    Geändert von EddieG (03.11.08 um 12:00 Uhr)
     

  6. #6
    Avatar von hammet
    hammet hammet ist offline himekishi
    Registriert seit
    Aug 2006
    Ort
    Bayern
    Beiträge
    334
    Sollte es allerdings, bekommst du denn immernoch die selbe Fehlermeldung?
     
    Handlanger des Dr. Ex1tus

    Ich kenne Matzes dunkles Geheimnis ! oO

    o
    L_/
    OL
    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.

    Hallo Nuray!

  7. #7
    EddieG EddieG ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    216
    Nein die Fehlermeldung ist nun ebenfalls weg.
     

  8. #8
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Sinnvoller wäre vielleicht doch folgender Ansatz:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    public static int GGT_Rechnung(int a, int b) {
        if(a > b) {
            return GGT_Rechnung(a - b, b);
        } else if(a < b) {
            return a;
        }
     
        return 0;
    }

    Soll nur eine Algorithmusoptimierung sein (und ein Wink für die Formatierung ).

    Viele Grüße,
    MAN
     
    BLT - Die Bundesliga Tabelle der Saison 2011 / 2012 - http://www.spacehoster.de/blt/ NEU: mit Tippspiel!
    EMail: mstangel@gmx.de

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 22.07.08, 11:38
  2. If/else spinnt rum
    Von HuRaHoRRe im Forum Java
    Antworten: 11
    Letzter Beitrag: 30.08.07, 14:08
  3. CSS Spinnt?! Im FF
    Von reddragon90 im Forum CSS
    Antworten: 2
    Letzter Beitrag: 20.04.07, 18:14
  4. Facharbeit: Rekrusive & Iterative Verfahren in der Informatik.
    Von GarGod im Forum Delphi, Kylix, Pascal
    Antworten: 0
    Letzter Beitrag: 23.01.05, 19:23
  5. PHP Spinnt
    Von Spacedoener im Forum PHP
    Antworten: 6
    Letzter Beitrag: 20.03.04, 13:01