variable initialisieren

FX202

Mitglied
grüß gott,
ich bin ein noob.
hab folgenden teil meiner hü:

Legen Sie folgende Variablen außerhalb der main-Methode als statische Variablen an (z.B.: static int ...):
a) eine Variable namens amount1, die eine Gleitkommazahl (mit doppelter Genauigkeit) aufnehmen kann
b) eine Variable namens amount2, die eine Gleitkommazahl (mit doppelter Genauigkeit) aufnehmen kann
c) eine Konstante namens INTEREST_RATE mit doppelter Genauigkeit, die Sie auf 1.25 setzen.
d) eine Konstante namens LOW_INTEREST_RATE mit doppelter Genauigkeit, die Sie auf 1.15 setzen.
Initialisieren Sie die Variable amount1 mit einem Wert unter 1000 und amount2 mit einem Wert von 1000 oder größer.

mein code dazu sieht fürs erste so aus:
Java:
public class Interest {

  static double amount1;
  static double amount2;
  static final double INTEREST_RATE = 1.25;
  static final double LOW_INTEREST_RATE = 1.15;
  static double zinsamount;

public static void main(String[] args) {
  
  if (amount1 < 1000);
  if (amount2 >= 1000);
  
  zinsamount = calculateMonthlyInterest(amount1);
  zinsamount = calculateMonthlyInterest(amount2);
  zinsamount = calculateAnnualInterest(amount1);
  zinsamount = calculateAnnualInterest(amount2);
  zinsamount = calculate5YearsInterest(amount1);
  zinsamount = calculate5YearsInterest(amount2);
}

Unser Lehrer prüft das mit einem Unittest, wir laden die Datei hoch und können sehen was richtig oder falsch ist.
mein problem ist nun dass er mir den schreibt:

test01_Attributes Der Wert von Feld amount2 in Interest ist zu klein!

und ich habe keine ahnung was falsch sein soll.
ich wäre für einen rat sehr dankbar,

lg

wolfgang
 
Zuletzt bearbeitet von einem Moderator:

MWin123

Bekanntes Mitglied
Verwende doch bitte Code Tags.

Schau dir mal das hier an:
Java:
if (amount1 < 1000);
if (amount2 >= 1000);
Was soll das bringen?
 

FX202

Mitglied
amount1 wert kleiner 1000?
amount2 wert größergleich 1000?

wenn ich das ohne if setz wird die zeile rot und es geht nicht.
 

MWin123

Bekanntes Mitglied
Ja, du prüfst nur ob amount1 oder amount2 kleiner/größer ist.
Außer der Prüfung passiert nichts, also egal ob true or false.
 

FX202

Mitglied
hmpf....
ok. hab den teil rausgenommen und es hat sich nichts geändert.

Code:
if (amount1 < 1000);
if (amount2 >= 1000);

aber wie sage ich dass amount1 kleiner als 1000.00 ist?
ich dachte ich hätt mit dem code oben gelöst...
 

FX202

Mitglied
Code:
 public static double calculateMonthlyInterest(double amount1) {
        zinsamount = amount1 * INTEREST_RATE / 100 * 1 / 12;

        System.out.println("Zinsen für ein Monat bei " + amount1
                + ": " + zinsamount);

        return zinsamount;

    }

so sieht eine meiner methoden aus.
 

MWin123

Bekanntes Mitglied
hab den teil rausgenommen und es hat sich nichts geändert.
Genau, der Code hat nichts "gemacht".

Ich denke mit "Initialisieren Sie die Variable amount1 mit einem Wert unter 1000 und amount2 mit einem Wert von 1000 oder größer." ist gemeint, dass du ein neues Objekt Interest erstellst und die beiden Werte setzt.
 

FX202

Mitglied
tjo das is das problem ich weiß ned wie ich das machen soll.
amount1 <= 1000,00; geht ned ich habs auf paar anderen arten auch probiert ich schaffs ned.
bin wohl zu blöd .
dachte ned das es so schwer eine variable so zu initialisieren.

trotzdem danke für den versuch.
 

Bitfehler

Bekanntes Mitglied
Eine Prüfung, ob der Wert einer Variablen größer oder kleiner einem Vergleichswert ist, scheint laut Aufgabe gar nicht notwendig zu sein. Die Aufgabe sagt nur aus, das du die Werte entsprechend fest setzen sollst.

test01_Attributes Der Wert von Feld amount2 in Interest ist zu klein!

Welchen Wert hat denn amount2 bei dir? Aus dem Code-Fragmenten ist nicht zu erkennen, ob du überhaupt einen Wert setzt. Wird keiner gesetzt, dann kann amount2 auch nicht über 1000 sein, sodass der Test fehlschlägt.

//Initilisieren einer Var a
int a = 2;
 

MWin123

Bekanntes Mitglied
amount1 <= 1000.00; setzt keine Variable, das ist ein kleiner gleich Vergleich.
Außerdem kann ein double kein Intervall als Wert haben.

Java:
public static void main(String[] args) {
   Interest interest = new Interest();
   interest.amount1 = 500;
   interest.amount2 = 1000;
}
 

InfectedBytes

Top Contributor
Legen Sie folgende Variablen außerhalb der main-Methode als statische Variablen an (z.B.: static int ...):
Initialisieren Sie die Variable amount1 mit einem Wert unter 1000 und amount2 mit einem Wert von 1000 oder größer.

Java:
public class Interest {
  static double amount1 = 500;
  static double amount2 = 1500;
  static final double INTEREST_RATE = 1.25;
  static final double LOW_INTEREST_RATE = 1.15;
 

Neue Themen


Oben