tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
534
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    [nAZguL] [nAZguL] ist offline Grünschnabel
    Registriert seit
    Jan 2002
    Beiträge
    2
    Hallo,

    hab Heute angefangen mich in die C# Materie zu stürzen ( nach 2 Missglückten c++ Versuchen ). Habe recht gute PHP Kenntnisse, habe jetzt aber ein Problem mit einem kleinen C# Programm:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    using System;
     
    public class funct2
    {
        public static void Main()
        {   
            double a, b, c;
            Console.Write("Laenge Seite A: ");
            a = Double.Parse(Console.ReadLine());
            Console.Write("Laenge Seite B: ");
            b = Double.Parse(Console.ReadLine())    ;
            c = Pythagoras(a,b);
            Console.WriteLine("C ist {0} lang",c);
        }
        
        public double Pythagoras(double a,double b)
        {
            return Math.Sqrt(a*a + b*b);        
        }
    }

    Der Compiller sagt mir: " An object reference is required for the nonstatic field ..." für die Zeile wo die Variable c den Return wert aus der Pythagoras Funktion bekommen soll.
    Wenn mir jemand helfen könnte und sagen könnte wo der Fehler liegt wäre ich sehr dankbar
     

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    Die Main Methode ist statisch.
    Die Funktion nicht.

    Das heisst, deine Funktion kannst du nur über eine Instanz der Klasse aufrufen, welche die Funktion enthält.

    Lösung 1:

    Du machst die Methode statisch. public static double Pythagoras(double a,double b)

    Lösung 2:

    Du instanzierst deine Klasse und rufst die Methode darüber auf.
    (Die Änderungen sind fettgeschrieben..)
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    using System;
     
    public class funct2
    {
        public static void Main()
        {
            double a, b, c;
            [b]funct2 obj = new funct2();[/b]
     
            ConsoleWrite("Laenge Seite A: ");
            a = Double.Parse(Console.ReadLine());
            Console.Write("Laenge Seite B: ");
            b = Double.Parse(Console.ReadLine());
            c = [b]obj.[/b]Pythagoras(a,b);
            Console.WriteLine("C ist {0} lang",c);
        }
     
        public double Pythagoras(double a,double b)
        {
            return Math.Sqrt(a*a + b*b);
        }
    }

    MfG,

    Alex
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  3. #3
    [nAZguL] [nAZguL] ist offline Grünschnabel
    Registriert seit
    Jan 2002
    Beiträge
    2
    Ouch, Fehler
    Danke für die schnelle Hilfe
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 25.07.08, 10:08
  2. Falsche Rückgabe aus Funktion
    Von dark_ghost im Forum PHP
    Antworten: 4
    Letzter Beitrag: 21.10.07, 16:21
  3. [c++ .net] rückgabe von klasse durch methode
    Von Halcom im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 06.07.06, 13:49
  4. Antworten: 2
    Letzter Beitrag: 17.01.06, 13:35
  5. Rückgabe von funktion.. (Pointer)
    Von MC Breit im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 02.07.04, 14:17