Programm Umschreiben Symbolische Konstanten

fenstergummi

Mitglied
Hallo zusammen,

folgende Aufgabe hab ich zu lösen und komme nicht weiter.

Das folgende Programm führt Berechnungen mit Kilometern, Metern und Zentimetern durch. Ändern Sie den Quelltext so, dass statt der Zahlen für die Kilometer und Meter entsprechende symbolische Konstanten verwendet werden.

Java:
int variable;
variable = 1000;

System.out.println("Ein Kilometer entspricht " + variable + " Metern.");

variable = 1000 * 100;

System.out.println("Ein Kilometer entspricht " + variable + " Zentimetern.");


Kann mir da bitte mal jemand weiterhelfen?

Vielen Dank im voraus!
 
Zuletzt bearbeitet von einem Moderator:

Elenteria

Bekanntes Mitglied
Wo genau ist dein Problem? Alles was du tun musst ist die Variable 'variable' in eine Konstante umzuwandeln und ihr einen namen geben.

Konstanten werden in der Regel mit [sicharbarkeit] static final [Datentyp] [NAME] = [Wert] angelegt.
Ein paar beispiele:

public static final double PI = 3.1415;
private static final int MAX_CONNECTIONS = 500;
public static final int UMRECHNUNGS_FAKTOR = 1000;
private static final String HELLO_WORLD = "Hello World"
public static final boolean IS_DEBUG = false;
 

fenstergummi

Mitglied
Stah glaube ich gerade etwas auf dem schlauch...

wäre das also wie folgt richtig?

final int KONSTANTE = 1000;


System.out.println("Ein Kilometer entspricht " + KONSTANTE + " Metern.");

final long KONSTANTE1 = 1000 * 100;

System.out.println("Ein Kilometer entspricht " + KONSTANTE1 + " Zentimetern.");
 

Elenteria

Bekanntes Mitglied
jetzt gibt der Konstanten noch ein etwas sprechenderen Namen als KONSTANTE und schreib ein public static vor das final und dann passt es. Für die Namensgebung überlegst du dir mal wofür die Konstante steht, und ich mein damit nicht den Numerischen Wert 1000.
 

mrBrown

Super-Moderator
Mitarbeiter
Besser wäre es, die 1000 und 100 einmal zu definieren, und diese dann bei der Variablenzuweisung zu benutzen. Ob man die variable dann auch mit einer konstanten ersetzen sollte, kommt auf den Sinn und Zweck des ganzen an...

Java:
private static final int KM2M = 1000;
private static final int M2CM = 100;

int variable = 1 * KM2M;
...
variable = 1*KM2M*M2CM;
...
 

VfL_Freak

Top Contributor
Moin,

naja ..... ob KM2M und M2CM wirklich sprechend sind, wage ich mal zu bezweifeln! :rolleyes:

Sagt Dir als Entwickler des Code wahrscheinlich schon nach einigen Monaten nichts mehr (vor allem bei größeren Projekten) und fremden betrachten ohnehin fast gar nix :cool:

Gruß Klaus
 

mrBrown

Super-Moderator
Mitarbeiter
naja ..... ob KM2M und M2CM wirklich sprechend sind, wage ich mal zu bezweifeln! :rolleyes:

Sagt Dir als Entwickler des Code wahrscheinlich schon nach einigen Monaten nichts mehr (vor allem bei größeren Projekten) und fremden betrachten ohnehin fast gar nix :cool:

Schreibfaulheit ;) Hier versteht zumindest jeder was gemeint ist, wenn man's benutzt schreibt mans dann aus und ergänzt JavaDoc.

Ich wollte auch nur auf die MagicNumbers hinaus, die immer noch drin standen. Einfach nur die Variablen final machen ist sicherlich nicht Ziel der Aufgabe...
 

Neue Themen


Oben