Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Java: Kraftfahrzeugsteuer berechnen (http://www.informatikerboard.de/board/thread.php?threadid=310)


Geschrieben von hakeem88 am 17.11.2007 um 16:56:

  Java: Kraftfahrzeugsteuer berechnen

deleted



Geschrieben von Tobias am 17.11.2007 um 17:38:

 

Das Programm wird doch in der Aufgabenstellung schon eindeutig beschrieben (auch wenn die Information fehlt, warum du von 1591 cm³ Hubraum auf die Zahl 16 umrechnest).

Was du tun musst sind drei Werte einlesen. Informationen dazu findest du z.B. hier:
http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht26Ht/java_einlesen_de

Danach führst du deine Rechnung aus und gibts das Ergebnis zurück. Fertig.



Geschrieben von JROppenheimer am 18.11.2007 um 13:10:

 

Also bei mir kam ein access denied smile

Ich glaube der arme Kerl hat nur Probleme, weil er die JavaMethoden nicht kennt, die "einlesen".

Versuchs mal mit:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
.
.
.
String	s;
System.out.print("Bitte geben Sie die Abgasnorm ein: ")
s = console.readLine();
i = Integer.parseInt(s);
.
.
.


Ich bin nicht sicher, ob die Syntax genau richtig ist, hab lang kein Java mehr gemacht. Aber ich glaube die Deklaration von Variablen ging so...

Ich weiss jetzt nicht, ob ihr mit try-catch-blöcken arbeiten sollt. Wenn der Benutzer nämlich eine Eingabe vom falschen Typ tätigt, geht deine Rechnung später nicht smile WO Du diesen Fehler abfängst, bleibt ja Dir überlassen.

Wobei ich zugebe, dass DAS wohl die hässlichste alle Arten ist, das zu machen. Es gibt noch einige andere Wege, das zu lösen, aber das ist die, bei der man am wenigstens nachdenken muss.
Streamreader und sowas machen es nur noch schwieriger zu verstehen.

Es gibt ein sehr gutes OpenBook, mit dem ich mein ganzes Praktikum bestritten habe:

Java ist auch nur eine Insel



Geschrieben von hakeem88 am 18.11.2007 um 13:32:

 

deleted



Geschrieben von Tobias am 18.11.2007 um 14:00:

 

Achtung, du liest den Fahrzeugtyp als Integer ein. In der Aufgabe steht aber, dass du "O" oder "D" einlesen sollst. Das wird Typkonflikte geben.

Wenn du den Integer a für die Abgasnorm hast, kannst du z.B. eine Switch-Case Abfrage machen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
double normBetrag = 0.0;

switch(a) {
 
 case 3:
   normBetrag = 6.75;
   break;

 case 2:
  ...
}


Eine weitere elegante Möglichkeit wäre, die Tabelle einfach als Array anzulegen:

code:
1:
2:
double[] otto_motor_kosten = {15.13, 7.36, 6.75};
double[] diesel_motor_kosten = {27.35, 16.05, 15.44};


Jetzt kannst du den Integer a-1 direkt als Index für dein Array verwenden:
code:
1:
double normBetrag = otto_motor_kosten[a-1]; 


Vergiss dann aber nicht, die Eingaben des Benutzers auf Gültigkeit zu überprüfen.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH