Informatik Steckbrief (Java)?
Also wie mache ich das bei der Größe? Halt 1,76. float oder double? Oder doch was anderes?
public class SteckbriefGenerator {
public static void main(String[] args) {
MyIO eingabe = new MyIO();
System.out.println("--Steckbrief Generator--");
String name = eingabe.getString("Bitte geben Sie Ihren Namen ein: ");
String nachname = eingabe.getString("Bitte geben Sie Ihren Nachnamen ein: ");
System.out.println("--");
int alterzahl = eingabe.getInt("Bitte geben Sie ihr Alter an: ");
System.out.println("--");
String geburtstag = eingabe.getString("Wann haben Sie ihr Geburtstag? (Format dd.mm.yyyy): ");
System.out.println("--");
float double = eingabe.getDouble("Bitte geben Sie ihre größe in Meter an (Format 1.234): ");
System.out.println("--");
String hobby = eingabe.getString("Bitte nennen Sie ein Hobby: ");
String hobby2 = eingabe.getString("Bitte nennen Sie ein weiteres Hobby: ");
System.out.println("--");
int schlafenzahl = eingabe.getInt("Wie lange schlafen sie meistens? (Stunden): ");
String wohnort = eingabe.getString("Wie lautet ihr Wohnort?: ");
int schulweg = eingabe.getInt("Wie lange fahren sie mit dem Bus, mit der Bahn oder mit dem Fahrrad zur Schule? (Angabe in Stunden (Format 1.234): ");
System.out.println("------------------------------------------------------------------------------------------------------------------------");
also bitte geben sie ihre größe in meter an
2 Antworten
Ein Format float double gibts nicht entweder float oder double. Bei modernen CPUs gibt es eigentlich keinen wirklichen Grund mehr float für so etwas zu nutzen.
Außerdem fehlt der Variablenname. Wenn die Variable double heißen soll geht das nicht weil double ein Keyword ist.
Was sollte long hier für einen Effekt haben, das kann ja keine Gleitkommazahlen speichern?
Long kann Zahlen in Dezimaldarstellung darstellen, das wurde ja doch verlangt? Oder habe ich mich verlesen?
Es geht um Gleitkommazahlen zB 1.25 und die kann long nicht darstellen.
Long ist ein 64Bit Ganzzahltyp.
In C würde es noch long double geben was tatsächlich ein Gleitkommazahltyp ist aber diesen Typ gibt es in Java nicht.
ja. war nur ein kleiner fehler
aber wenn ich z.b das hier eingebe geht es nicht, da kommt error bei cmd
float groesse = eingabe.getFloat("Bitte geben Sie ihre größe in
Meter an (Format 1.234): ");
Steht da auch mehr als Error?
IdR sollte dir die entsprechende Funktion eine Exception werfen die eine Fehlermeldung enthält was ihr nicht passt.
Zudem habe ich keine Ahnung wie getFloat in der Klasse MyIO implementiert ist.
habs geschafft, da hat das true gefehlt
float groesse = eingabe.getFloat("Bitte geben Sie ihre größe in Meter an (Format 1.234): ", true);
Wie gesagt ich habe keine Ahnung was du in der Klasse MyIO implementiert hast von da her kann ich dir zur Verwendung dieser Methoden auch nichts sagen.
Je nach dem wie genau du es haben willst, kannst du dich zwischen double und float entscheiden. Da aber kaum jemand seine Größe auf diverse Nachkommastellen eintippen wird, dürfte float mehr als ausreichend sein.
Allerdings kenne ich keinen der heutzutage noch float benutzt in Java, alle nehmen double. Der Variablenname dürfte auch nicht funktionieren, da "double" als keyword bereits belegt ist.
so geht es, also hiermit
float groesse = eingabe.getFloat("Bitte geben Sie ihre größe in Meter an (Format 1.234): ", true);
Versuch mal long statt float oder double