CalcSomething

ed110

Grünschnabel
Hi, Leute!
Hab heute wieder eine neue Aufgabe zu lösen und wollte mal rumfragen, ob mir jemand bei der Lösung dieser helfen könnte!?
Die Aufgabenstellung lautet:

Gegeben sei die folgende Klasse CalcSomething mit den angegebenen drei Methoden. Jede dieser Methoden berechnet mit Hilfe einer komplexeren Formel einen Wert. Schreiben Sie die Methoden so um, dass in jeder Rechnung nur genau ein Operator (neben dem Zuweisungsoperator) oder eine Methode der Klasse Math verwendet wird. (Operatoren sind hier /, +, !=, %).
Alle
berechneten Zwischenergebnisse sollen dabei in der Reihenfolge ihrer Berechnung auf dem Monitor ausgegeben werden, und zwar jedes Ergebnis in einer neuen Zeile. Ist durch die Priorität der Operatoren keine andere Reihenfolge der Berechnungen festgelegt, so wird die Formel von links nach rechts in Teilrechnungen zerlegt.


public class CalcSomething {

public static boolean isOdd(int i1) {
return (i1 % 2) != 0;
}

public static double berechnung1(int i2, int i3, double i4) {
return (i2 - i3) / (i2 - i4);
}

public static double berechnung2(int i5, int i6) {
return Math.sqrt(i5/i6);
}
}

Ich bin für jeden Ansatz bzw. Hinweis zur Lösung dankbar.

Gruß ED
 
ed110 hat gesagt.:
Hi, Leute!
Die Aufgabenstellung lautet:
Gegeben sei die folgende Klasse CalcSomething mit den angegebenen drei Methoden. Jede dieser Methoden berechnet mit Hilfe einer komplexeren Formel einen Wert. Schreiben Sie die Methoden so um, dass in jeder Rechnung nur genau ein Operator (neben dem Zuweisungsoperator) oder eine Methode der Klasse Math verwendet wird. (Operatoren sind hier /, +, !=, %).
Alle
berechneten Zwischenergebnisse sollen dabei in der Reihenfolge ihrer Berechnung auf dem Monitor ausgegeben werden, und zwar jedes Ergebnis in einer neuen Zeile.

Ich würde != nicht als Operator verstehen, oder wenn, dann zählt das Pendant == auch dazu.

Code:
public class CalcSomething {
 
    public static boolean isOdd(int i1) {
      return (i1 % 2) != 0;
    }
}

Ich bin für jeden Ansatz bzw. Hinweis zur Lösung dankbar.

Gruß ED

Ich habe wie so oft ein Verständnisproblem. Soll z.B. o.a. Methode nur noch eine Operation enthalten oder eine pro Zeile? Dann ginge das so:
Code:
public static boolean isOdd(int i1)
{
  int iResult = i1 % 2;
  if ( iResult != 0 )
   return (true);
  else
   return (false);
}
 
Danke für deine Antwort, hab deinen Ansatz genutzt, doch leider kein richtiges Resultat bekommen:(.
Ab morgen kommt das Ergebnis ins Netz.
Also vielen Dank für deine Antwort!

Gruß ED
 
ed110 hat gesagt.:
Danke für deine Antwort, hab deinen Ansatz genutzt, doch leider kein richtiges Resultat bekommen:(.
Ab morgen kommt das Ergebnis ins Netz.
Also vielen Dank für deine Antwort!

Gruß ED

Hi,
Du willst jetzt aber nicht sagen, dass mein Code oben falsch ist? :confused:
 
Das wollte ich damit nicht sagen!
Dein Ansatz war schon richtig, doch ich musste um die Aufgabe erfolgreich zu bearbeiten alle drei Methoden in einer zusammenfassen und das habe ich leider programmiertechnisch nicht geschafft (bin halt Anfänger).
Macht aber nichts!
Soblad die Lösung ins Netz kommt kopiere ich diese mal hier rein!

Gruß ED
 
Also die drei Methoden oben haben miteinander nichts zu tun und keine wird in einer der anderen Methoden aufgerufen. Von daher halte ich es für eher unwahrscheinlich, dass alle drei Methoden in einer zusammengefasst werden können. Aber jede einzelne davon kannst Du so zerlegen wie ich es mit der ersten vorgemacht habe.
 
Hi hab jetzt endlich die Lösung! Danke für deine Hilfe!

Gruß Ed


public class CalcSomething {

public static boolean isOdd(int x) {
int a = x%2;
System.out.println(a);
boolean b = a != 0;
System.out.println(b);
return b;
}

public static double berechnung1(int x, int y, double z) {
int a = x+y;
System.out.println(a);
double b = x+z;
System.out.println(b);
double c = a/b;
System.out.println(c);
return c;
}

public static double berechnung2(int x, int y) {
int a = x/y;
System.out.println(a);
double b = Math.sqrt(a);
System.out.println(b);
return b;
}
}
 
Zurück