1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Methoden anlegen

  • TomTom2
  • 13. November 2007 um 14:00
  • Unerledigt
  • TomTom2
    2
    TomTom2
    Mitglied
    Punkte
    25
    Beiträge
    3
    • 13. November 2007 um 14:00
    • #1

    Hallo zusammen!

    Wir haben heute mit Methoden begonnen und nun wollte ich das letzte Programm- es las Zahlen in einen Array ein und hat diesen dann später per Schleife nach der größten und kleinsten Zahl ducrhsucht und diese dann ausgegeben- umschreiben.

    Das alte Programm sah so aus:

    Java
    import java.util.Scanner;
    
    
    class Werte {
    
    
        public static void main(String[] args) {
    
    
            // Vorbereitung 
            System.out.println("Eingabe von Zahlen, beenden durch eine nicht numerischen Eingabe");
            double z[] = new double[8];
            int n = 0; 
            Scanner s = new Scanner(System.in);
            while (n < z.length && s.hasNextDouble()) {
                z[n++] = s.nextDouble();
            }
            // Abschluß
            System.out.println("\nEinlesen beendet nach " + n
                    + " Eingabezahl" + (n == 1 ? "" : "en") + "\n");
            if (!s.hasNextDouble())
                System.exit(0);
    
    
            //Hauptteil
            int min = 0, max = 0;
            for (int i = 1; i < n; i++) {
                if (z[i] < z[min])
                    min = i;
                if (z[i] > z[max])
                    max = i;
            }
    
    
            // Abschluß
            System.out.println("\nDie kleinste Zahl ist: "  
                    + z[min]
                    + "\nDie groesste Zahl ist:"
                    + z[max];
        }
    }
    Alles anzeigen

    Nun habe ich versucht zwei Methoden zu schreiben, die den kleinsten und größten Wert übergeben, so dass der Hauptteil wegfällt. Diese habe ich in einer Klasse Wertemethoden gespeichert. Die dazugehörige andere Klasse lautet nur Werte und sieht folgendermaßen aus:


    Code
    Class Werte {
    
    
        public static void main(String[] args) {
    
    
            // Vorbereitung 
            System.out.println("Eingabe von Zahlen, beenden durch eine nicht numerischen Eingabe");
            double z[] = new double[8];
            int n = 0; 
            java.util.Scanner s = new java.util.Scanner(System.in);
            while (n < z.length && s.hasNextDouble()) {
                z[n++] = s.nextDouble();
            }
            // Abschluß
            System.out.println("\nEinlesen beendet nach " + n
                    + " Eingabezahl" + (n == 1 ? "" : "en") + "\n");
            if (n == 0)
                System.exit(0);
    
    
            // Abschluß
            System.out.println("\nDie kleinste Zahl ist: "  
                    + Wertemethoden.min
                    + "\nDie groesste Zahl ist:"
                    + Wertemethoden.max);
        }
    }
    Alles anzeigen
    Code
    class Wertemethoden {
    
    
    static double Wertemin {double min (int z, int n) {
        int min = 0;
        for (int i = 1; i < n; i++) {
            if (z[i] < z[min])
                min = i;
            return min;
            }
        }
    }
    
    static double Wertemax {double max(int z, int n) {
        int max = 0;
        for (int i = 1; i < n; i++) {
            if (z[i] > z[max])
                max = i;
            return max;
            }
        }
    }
    }
    Alles anzeigen

    Nun bekomme ich im Methoden- Teil immer eine Fehlermeldung betreffend die beiden double bei static double Wertemin bzw. Wertemax. Was genau will er mir mit dieser Fehlermeldung mitteilen?

    Syntax error on token "double", class expected

    Zudem meckert er in der Hauptklasse Werte, dass

    Wertemethoden.min cannot be resolved.

    Muss ich irgendwie eine weitere Referenz auf die Klasse Wertemethoden einbauen? Und wie sieht so ein Verweis aus? Ich dachte, es würde genügen, den direkten Verweis erst im Ausgabeteil anzusprechen.

    Ich danke für die Hilfe,
    Tom

  • klausi
    16
    klausi
    Mitglied
    Reaktionen
    24
    Punkte
    2.564
    Beiträge
    481
    • 13. November 2007 um 15:01
    • #2
    Code
    Class Werte {
    
    
        public static void main(String[] args) {
    
    
            // Vorbereitung 
            System.out.println("Eingabe von Zahlen, beenden durch eine nicht numerischen Eingabe");
            double z[] = new double[8];
            int n = 0; 
            java.util.Scanner s = new java.util.Scanner(System.in);
            while (n < z.length && s.hasNextDouble()) {
                z[n++] = s.nextDouble();
            }
            // Abschluß
            System.out.println("\nEinlesen beendet nach " + n
                    + " Eingabezahl" + (n == 1 ? "" : "en") + "\n");
            if (n == 0)
                System.exit(0);
    
    
            // Abschluß
            System.out.println("\nDie kleinste Zahl ist: "  
                    + [COLOR='Red']Wertemethoden.min(z,n)[/COLOR]
                    + "\nDie groesste Zahl ist:"
                    + [COLOR='Red']Wertemethoden.max(z,n)[/COLOR]);
        }
    }
    Alles anzeigen
    Code
    class Wertemethoden {
    
    
    [COLOR='Red']static double min (int z, int n) {[/COLOR]
        int min = 0;
        for (int i = 1; i < n; i++) {
            if (z[i] < z[min])
                min = i;
            return min;
        }
    }
    
    [COLOR='Red']static double max(int z, int n) {[/COLOR]
        int max = 0;
        for (int i = 1; i < n; i++) {
            if (z[i] > z[max])
                max = i;
            return max;
        }
    }
    }
    Alles anzeigen

    Nicht getestet, aber so in der Richtung sollte es gehen.

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung