tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
484
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    phreeak phreeak ist offline Mitglied Bronze
    Registriert seit
    Nov 2011
    Beiträge
    32
    Hallo,
    hab folgenen Code,

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    
    import java.io.*;
     
    class oop1_pr8
    {
        int schweine;
        int Rinder;
        int schw_gewicht;
        int rind_gewicht;
        int gve_schwein;
        int gve_rind;
        int Kubi_Bgas;
        
        public void oop1_pr8(){
        schweine = 83;
        Rinder = 47;
        schw_gewicht = 109;
        rind_gewicht = 472;
        }
            
        public void gve_berechnen_schweine() {
        gve_schwein = (schweine * schw_gewicht) / 500;
        }
        
        public void gve_berechnen_rind() {
        gve_rind = (Rinder * rind_gewicht) / 500;
        }
        
        public void biogas_kubik() {
        Kubi_Bgas = gve_schwein + gve_rind;
        }
        
        public void main() 
        {
         System.out.println("Grossvieheinheit der Schweine beträgt: "+gve_schwein);
         System.out.println("Grossvieheinheit der Rinder beträgt: "+gve_rind);
         System.out.println("Kubimeter Biogas pro Jahr: "+Kubi_Bgas);
      
        }
            
    }

    Nun bekomm ich immer den Fehler

    Exception in thread "main" java.lang.NoSuchMethodError: main
    bin voll am verzweifeln irgendwie. Bei der Vorlesung zu dem Thema, wie man mehrere Funktionen macht, hatte ich ne Grippe und das Script ist auch noch nicht online. Ich weiss, das dass Programm keine main Funktionn zum aufrufen finden, aber wie mach ich sowas?!

    Er soll zuerst die berechnungen durchführen (laut der aufgabe) und dann die Ergebnisse anzeigen.



    vielen dank im vorraus
     

  2. #2
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Also: Du solltest dir ein paar Code Conventions angewöhnen:
    (besonders: Klassennamen groß schreiben, Unterstriche sind nicht gern gesehen)

    Grund für deine Fehlermeldung ist, dass deine Main-Methode genau folgende Signatur haben muss:
    Code java:
    1
    
    public static void main(String[] args)
    , du hast aber
    Code java:
    1
    
    public void main()
    geschrieben, daher kann die Main-Methode nicht gefunden werden (weil sie nicht static ist) und dein Programm startet nicht.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  3. #3
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.503
    Hi

    Statt
    Code java:
    1
    
    public void main()
    das:
    Code java:
    1
    
    public static void main(String[] arg)

    Um dann auf die anderen Methoden (Funktionen) und ints zugreifen zu können,
    musst du entweder eine Instanz der Klasse machen
    oder auch alles andere static machen, nicht nur main.

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  4. #4
    phreeak phreeak ist offline Mitglied Bronze
    Registriert seit
    Nov 2011
    Beiträge
    32
    Hi,

    das mit

    Code :
    1
    
    public static void main(String[] arg)]

    hab ich schon getestet, allerdings sind in der Ausgabe variablen und dann meckert er, wegen dem static argument

    oop1_pr8.java:41: non-static variable gve_schwein cannot be referenced from a st
    atic context
    System.out.println("Grossvieheinheit der Schweine beträgt: "+gve_schwein);

    ^
    oop1_pr8.java:42: non-static variable gve_rind cannot be referenced from a stati
    c context
    System.out.println("Grossvieheinheit der Rinder beträgt: "+gve_rind);
    ^
    oop1_pr8.java:43: non-static variable Kubi_Bgas cannot be referenced from a stat
    ic context
    System.out.println("Kubimeter Biogas pro Jahr: "+Kubi_Bgas);

    ^
    und
    Code :
    1
    
    public void main(String[] arg)]

    gibt er mir immernoch den Fehler aus.
     

  5. #5
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    dann musst du die Variablen, die du in der main-Methode benutzt halt static machen.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  6. #6
    phreeak phreeak ist offline Mitglied Bronze
    Registriert seit
    Nov 2011
    Beiträge
    32
    und wie macht man die static?
    ich berechne sie ja in in einer funktion und sie verändern sich.

    z.B

    Code :
    1
    2
    3
    
    public void gve_berechnen_schweine() {
        gve_schwein = (schweine * schw_gewicht) / 500;
        }

    kann schlecht static final davor schreiben.
     

  7. #7
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    vor die Variable static davor schreiben (bei der Definition).
    Und deine Methoden müssen auch alle static sein. An sonsten müsstest du mit Instanzen der Klassen (Objekten) arbeiten, aber das habt ihr wahrscheinlich noch nicht gelernt.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  8. #8
    phreeak phreeak ist offline Mitglied Bronze
    Registriert seit
    Nov 2011
    Beiträge
    32
    vielen dank... xD

    nun gibt er es aus, ABER

    die variablen haben alle den wert 0, anscheinend führt er die prozeduren da nicht aus, müssen wohl initialisiert werden oder?

    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
    25
    26
    27
    28
    29
    30
    31
    
    import java.io.*;
     
    public class oop1_pr8
    {
        static final int schweine = 83;
        static final int Rinder = 47;
        static final int schw_gewicht = 109;
        static final int rind_gewicht = 472;
        static int gve_schwein;
        static int gve_rind;
        static int KubiBgas;
        
        public void BerechneGVEschwein() {
        gve_schwein = (schweine * schw_gewicht) / 500;
        }
        
        public void BerechneGVErind() {
        gve_rind = (Rinder * rind_gewicht) / 500;
        }
        
        public void BerechneKubiBgas() {
        KubiBgas = (gve_schwein + gve_rind) * 91 / 100 ;
        }
           
        public static void main(String args[]) {
         System.out.println("Grossvieheinheit der Schweine beträgt: "+gve_schwein);
         System.out.println("Grossvieheinheit der Rinder beträgt: "+gve_rind);
         System.out.println("Kubimeter Biogas pro Jahr: "+KubiBgas);
      
        }
    }


    Java fällt mir irgendwie sehr schwer.
    Bei Datenbanken oder html hab ich garkeine Probleme.


    edit:

    habs selber hinbekommen mit

    Code :
    1
    2
    3
    4
    
         oop1_pr8 berechne = new oop1_pr8();
         berechne.BerechneGVEschwein();
         berechne.BerechneGVErind();
         berechne.BerechneKubiBgas();

    haha
    Geändert von phreeak (21.11.11 um 20:24 Uhr)
     

Ähnliche Themen

  1. Exception in thread "main" java.lang.NullPointerException
    Von Holladerwaldelf im Forum Java Grundlagen
    Antworten: 7
    Letzter Beitrag: 16.10.10, 09:57
  2. Antworten: 8
    Letzter Beitrag: 07.01.09, 14:24
  3. Antworten: 16
    Letzter Beitrag: 14.08.07, 23:56
  4. Antworten: 2
    Letzter Beitrag: 16.01.07, 15:50
  5. Antworten: 1
    Letzter Beitrag: 29.07.05, 14:41