Woher nimmt das Programm die Variablenwerte????

T

testhoch1

Neues Mitglied
Hi, ich habe für die Uni eine Aufgabe bekommen, 3 Funktionen und ich soll je nach Auswahl der Funktion eine Wertetabelle für ein bestimmtes Intervall erstellen. Den Code hab ich eingebunden.

Leider funktioniert das nicht so ganz wie es soll. Statt einer Fehlermeldung oder einer funktionierenden Abfrage kommt eine Werteliste der Methode f3 in der Konsole:
0
1
1
2
2
3
3

Die stimmt auch für Testwerte die ich mal eingegeben habe aber momentan gelöscht hab. Und jetzt versteh ich nicht warum er erstmal die Abfrage in der main methode komplett übergeht und woher er die der Variablen noch hat.

Bin über jede Hilfe Dankbar.

Java:
import javax.swing.JOptionPane;

public class Aufgabe62
{
    static double ausgabe;
    static int a;
    static int b;
    static int k;
   
    public static double f1 (double x)
    {
        double f1 = a * Math.sin(x+b);
        return f1;
    }
   
    public static double f2 (double x)
    {
        double f2 = a * Math.exp(-1*b*x);
        return f2;
    }
    public static double f3 (int k, double x)
    {
        double f3 = (x/(2*k)+1)*k;
           
        return (int) f3;
    }
   
    public static void wertetabelle (int funktion, int start, int ende, int schrittgroeße)
    {   
        for (double i=start; i<=ende; i=i+schrittgroeße)
        {
            switch(funktion)
            {
                case (1):
                    ausgabe = f1 (a, b, i);
                    break;
                case (2):
                    ausgabe =  f2 (a, b, i);
                    break;
                case (3):
                    ausgabe =  f3 (k, i);
                    break;
            }
           
            System.out.println(ausgabe);
       
        }
    }
   
    public static void main(String[] args)
    {
   
        String sfunktion = JOptionPane.showInputDialog("Bitte geben Sie die Art der Funktion ein (1, 2 oder 3)");
        int funktion = Integer.parseInt(sfunktion);
   
        String sstart = JOptionPane.showInputDialog("Bitte geben Sie den Startwert des Intervalls ein.");
        int start = Integer.parseInt(sstart);
   
        String sende = JOptionPane.showInputDialog("Bitte geben Sie den Endwert des Intervalls ein.");
        int ende = Integer.parseInt(sende);
   
        String sschrittgroeße = JOptionPane.showInputDialog("Bitte geben Sie die Schrittgröße im Intervall an.");
        int schrittgroeße = Integer.parseInt(sschrittgroeße);
   
   
        switch (funktion)
            {
                case (1): case (2):
               
                    String sa = JOptionPane.showInputDialog("Bitte geben Sie den Parameter a ein.");
                    a = Integer.parseInt(sa);
           
                    String sb = JOptionPane.showInputDialog("Bitte geben Sie den Parameter b ein.");
                    b = Integer.parseInt(sb);
           
                    wertetabelle (funktion, start, ende, schrittgroeße);
                break;
                case (3):
               
                    String sk = JOptionPane.showInputDialog("Bitte geben Sie den Parameter k ein.");
                    k = Integer.parseInt(sk);
               
                    wertetabelle(funktion, start, ende, schrittgroeße);
                break;
                   
            }
   
   
    }
}
 
T

TheFrog

Aktives Mitglied
Hast du deinen Code überhaupt kompiliert? Ich bekomme zwei Fehlermeldungen.

Java:
Aufgabe62.java:35: error: method f1 in class Aufgabe62 cannot be applied to given types;
                    ausgabe = f1 (a, b, i);
                              ^
  required: double
  found: int,int,double
  reason: actual and formal argument lists differ in length
Aufgabe62.java:38: error: method f2 in class Aufgabe62 cannot be applied to given types;
                    ausgabe =  f2 (a, b, i);
                               ^
  required: double
  found: int,int,double
  reason: actual and formal argument lists differ in length
2 errors

Auf dem ersten Blick sind mir noch andere unschöne Dinge aufgefallen:
- Fehlendes default in den switch-Statements. Was passiert denn wenn du andere Werte als 1,2,3 einsetzt?
- Die Variablen mit dem Ergebnis in den drei Funktionen heißen wie die Funktion selbst. Klar ist das kein Fehler, aber mehr als unschön. Besser wäre hier z.B. einfach ergebnis
- Warum "for (double i=start; i<=ende; i=i+schrittgroeße)" ?? Ein int addiert mit einem int ergibt immer auch einen int.
- Wenn k in f3 den Wert 0 hat, kommt es zu einem Fehler (Division durch 0). Das Prüfen von Inputs/Outputs ist in der Programmierung sehr wichtig.

Ich hoffe meine Anmerkungen helfen dir weiter. Bist du im 1. Semester?
 
X

Xyz1

Gast
Bin über jede Hilfe Dankbar.
Das sollte Dir helfen:
Java:
import java.lang.reflect.Method;

public class Tabl {
    public static void main(String[] args) throws Exception {
        for (Method method : Tabl.class.getMethods()) {
            if (method.getName().matches("f\\d")) {
                System.out.println(method.toString());
                for (int i = 1; i < 5; i++) {
                    for (int j = 1; j < 5; j++) {
                        if (method.getParameterCount() == 1) {
                            double d3 = (double) method.invoke(Tabl.class, i);
                            System.out.println(i + " " + j + " : " + d3);
                            break;
                        } else {
                            int d3 = (int) (double) method.invoke(Tabl.class, i, j);
                            System.out.println(i + " " + j + " : " + d3);
                        }
                    }
                }
                System.out.println("");
            }
        }
    }

    static int a = 2;
    static int b = 3;

    public static double f1(double x) {
        double f1 = a * Math.sin(x + b);
        return f1;
    }

    public static double f2(double x) {
        double f2 = a * Math.exp(-1 * b * x);
        return f2;
    }

    public static double f3(int k, double x) {
        double f3 = (x / (2 * k) + 1) * k;

        return (int) f3;
    }
}

Code:
public static double connect4ai.Tabl.f3(int,double)
1 1 : 1
1 2 : 2
1 3 : 2
1 4 : 3
2 1 : 2
2 2 : 3
2 3 : 3
2 4 : 4
3 1 : 3
3 2 : 4
3 3 : 4
3 4 : 5
4 1 : 4
4 2 : 5
4 3 : 5
4 4 : 6

public static double connect4ai.Tabl.f2(double)
1 1 : 0.09957413673572789
2 1 : 0.004957504353332717
3 1 : 2.468196081733591E-4
4 1 : 1.228842470665642E-5

public static double connect4ai.Tabl.f1(double)
1 1 : -1.5136049906158564
2 1 : -1.917848549326277
3 1 : -0.5588309963978517
4 1 : 1.3139731974375781


Und jetzt versteh ich nicht warum er erstmal die Abfrage in der main methode komplett übergeht und
Weil Du über funktion switchst.


aber momentan gelöscht hab.
Tja das ist voll ärgerlich.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G hp nimmt daten woher?? Java Basics - Anfänger-Themen 4
P SimpleEntity und Assert, woher nehmen? Java Basics - Anfänger-Themen 8
G Woher kommt diese Eigenschaft Java Basics - Anfänger-Themen 5
D Woher kommt die 48?! Wie setz ich den Anfangswert auf 0??? Java Basics - Anfänger-Themen 8
TheMenox Error bei Scanner - woher? Java Basics - Anfänger-Themen 14
L [JFrame] Exception - woher? Java Basics - Anfänger-Themen 8
J Woher kommt das Objekt "Math" bei Math.random(); ? Java Basics - Anfänger-Themen 3
A ArrayIndexOutOfBoundsException - woher kommt er?! Java Basics - Anfänger-Themen 4
J Woher kommt diese NullPointerException? Java Basics - Anfänger-Themen 6
M Woher kommt der Funktionsaufruf? Java Basics - Anfänger-Themen 2
G Woher bekomme ich passende .jar-Archive Java Basics - Anfänger-Themen 8
B Anwendungsverzeichnis woher? Java Basics - Anfänger-Themen 5
S Woher Packages bekommen? Wie installieren? (Netbeans) Java Basics - Anfänger-Themen 4
kb woher JUnit? Java Basics - Anfänger-Themen 2
R Woher bekomme ich das aktuelle Jahr oder auch Datum? Java Basics - Anfänger-Themen 4
B Woher kommt der Name Java? Java Basics - Anfänger-Themen 4
megachucky Woher bekomme ich Java (außer aus dem netz) ? Java Basics - Anfänger-Themen 12
frau-u StackOverflow - woher kommt es? Java Basics - Anfänger-Themen 7
S die java machine läuft viel zuuuu langsam, woher kommt das?? Java Basics - Anfänger-Themen 3
1 Array nimmt falschen Wert auf! Java Basics - Anfänger-Themen 2
G Variablen Variable nimmt keinen Wert an (BlueJ) Java Basics - Anfänger-Themen 4
M Variable nimmt nicht den gewollten Wert an Java Basics - Anfänger-Themen 6
S Java CSV, er nimmt die nächste Zeile nicht Java Basics - Anfänger-Themen 2
J Button nimmt das komplette Fenster ein?! Java Basics - Anfänger-Themen 5
J ArrayList nimmt ständig nur das letzte Objekt auf Java Basics - Anfänger-Themen 2
G Konstruktor, BorderLayout nimmt Component nicht auf Java Basics - Anfänger-Themen 2
G Array nimmt Variabel nicht an Java Basics - Anfänger-Themen 14
R Von wo nimmt der FileReader seine daten Java Basics - Anfänger-Themen 7
J Methode nimmt Liste -> Problem Java Basics - Anfänger-Themen 4
A JTable nimmt eingaben von tastatur nicht an? Java Basics - Anfänger-Themen 2
G button nimmt ganzen bildschirm ein! Java Basics - Anfänger-Themen 18
O Kompilierte Datei nimmt Ändernungen nicht an Java Basics - Anfänger-Themen 2
H if else. else nimmt er nicht Java Basics - Anfänger-Themen 7
G Weiß jemand wie man dieses Programm schreibt? Java Basics - Anfänger-Themen 84
C Programm ausführen ohne JRE? Java Basics - Anfänger-Themen 3
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
W Programm dass Palindrome erkennt Java Basics - Anfänger-Themen 6
K Erste Schritte Programm geht aus Schleife, warum? Java Basics - Anfänger-Themen 2
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
K Programm stoppt einfach ohne Grund Java Basics - Anfänger-Themen 4
M Rekursives Programm zum Anzeigen von Primzahlen Java Basics - Anfänger-Themen 3
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
Zrebna Programm kann aus der Konsole nicht gestartet werden (in der IDE läuft es) Java Basics - Anfänger-Themen 2
K Error bei meinem Programm - Hilfe Java Basics - Anfänger-Themen 8
J Programm schreiben Java Basics - Anfänger-Themen 5
T Kann jemand kurz das Programm testen? Java Basics - Anfänger-Themen 13
T Programm Schleife/if Java Basics - Anfänger-Themen 2
T Mein Programm hat Fehler Java Basics - Anfänger-Themen 4
G While/If Programm Java Basics - Anfänger-Themen 2
G Java-Programm Terminal Java Basics - Anfänger-Themen 2
Dimax Java Programm mit exec starten Java Basics - Anfänger-Themen 5
I Java Programm sieht wie exe aus. Java Basics - Anfänger-Themen 3
J Programm vereinfachen Java Basics - Anfänger-Themen 5
G Java-Programm weitergeben Java Basics - Anfänger-Themen 14
Kirby_Sike Programm startet nachdem es compiled wurde nicht Java Basics - Anfänger-Themen 17
T Programm effizienter gestalten Java Basics - Anfänger-Themen 17
M Ein Programm erweitern, wie? Java Basics - Anfänger-Themen 3
J Fehler in Programm: Index -1 out of bounds for length 0 Java Basics - Anfänger-Themen 5
M Programm per Nutzereingabe ändern Java Basics - Anfänger-Themen 3
G Programm mit Schleife funktioniert nicht Java Basics - Anfänger-Themen 5
G If / While Programm (Datei auslesen) Java Basics - Anfänger-Themen 6
G Dezimal zu Binärcode Programm Java Basics - Anfänger-Themen 9
G Programm schreiben: Zahl (n) eingeben, 1+1/n+2/n+3/n+....+n/n Java Basics - Anfänger-Themen 8
M Problem mit meinem Programm Java Basics - Anfänger-Themen 6
L Wie teilt man ein Programm in vernünftige Klassen ein? Java Basics - Anfänger-Themen 10
R Compiler-Fehler HalloWelt-Programm korrekt abgeschrieben, trotzdem Fehlermeldungen Java Basics - Anfänger-Themen 2
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
J Mein Programm beendet sich ohne mein Zutun Java Basics - Anfänger-Themen 9
I Datei in Programm speichern Java Basics - Anfänger-Themen 3
H Programm compilieren Java Basics - Anfänger-Themen 10
W Java Programm mit API Anbindung Java Basics - Anfänger-Themen 2
D Java Programm mit JavaScript einbinden Java Basics - Anfänger-Themen 8
O Erstes Programm: Matrizen Multiplikation Java Basics - Anfänger-Themen 10
K Programm ausführen Java Basics - Anfänger-Themen 2
X Java Programm MacOS Java Basics - Anfänger-Themen 1
O Programm verstehen :D Java Basics - Anfänger-Themen 4
A Programm in Konsole Java Basics - Anfänger-Themen 4
S Programm als Daemon ausfuehren - wie rufe ich es auf..? Java Basics - Anfänger-Themen 3
A Wie gebe ich bei android eine string im programm aus? Java Basics - Anfänger-Themen 4
A Erklärung Programm zur Kreisberechnung Java Basics - Anfänger-Themen 43
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
F Array-Programm Java Basics - Anfänger-Themen 10
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
V Vererbung Eclipse startet das Programm nicht und rechnet nicht Java Basics - Anfänger-Themen 6
R Primzahlen Zähler Programm / Benachbarte Primzahlen Java Basics - Anfänger-Themen 30
N Verbesserungsvorschläge zu Wegfinder Programm Java Basics - Anfänger-Themen 26
D Warum gibt mir das Programm nicht den Array invertiert an ? Java Basics - Anfänger-Themen 1
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
L Programm lässt sich nicht starten! Java Basics - Anfänger-Themen 1
Z Montageberechnungs programm, finde leider den Fehler nicht Java Basics - Anfänger-Themen 13
J Mehrere paintComponenten in einem Programm Java Basics - Anfänger-Themen 0
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
B Tic Tac Toe - Programm Java Basics - Anfänger-Themen 2
N BitFlags Programm (switch on/off , swap und isSet) Java Basics - Anfänger-Themen 7
Hanschyo Programm schließt sich einfach Java Basics - Anfänger-Themen 2
A Shopping Cart Programm. Verstehe einige Zusammenhänge nicht Java Basics - Anfänger-Themen 1
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
L Programm zur Codieren nach Rotx Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Anzeige


Oben