Integer to String

Status
Nicht offen für weitere Antworten.

beginner

Mitglied
Bin absoluter Newbie in Sachen Programmierung, aber vielleicht kann mir jemand Tipps geben wie ich am besten Zahlen einlese und sie als String ausgebe.
Ich habe schon eine Variante gefunden mittels Schleife und Array, aber das will nicht so richtig funktionieren.

Hoffe auf Tipps! Danke!
 
z.B. String.valueOf( zahl );

Und einlesen mit System.in
Code:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)) ;
String line = n.readLine());

mfg Beni
 
Hi Beni,
wenn er das so abschreibt (was er als totaler Newbie sicher tut), würde das nicht funktionieren. try/catch fehlt noch.

Liebe Grüße
Reality
 
Das hat was...

also nocheinmal:

Code:
try{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in)) ;
  String line = n.readLine());
}
catch( IOException ex ){
  ex.printStackTrace();
}
 
Danke erstmal für die Hinweise!

Habe mich vielleicht nicht ganz klar ausgedrückt beim ersten Post. Ein User soll eine Zahl (auch mehrstellig) eingeben und diese soll wortwörtlich ausgegeben werden.

Ich frage mich auf welche Art ich die ausgesprochenen Zahlen am besten speichere. Habs mit if und eingenestetem switch-block probiert, aber das klappt irgendwie nicht so ganz.
Wie kann man am besten Zehner, Hunderter, etc berechnen. Einserziffer geht ja mit Modula ganz gut.

Vielleicht kann mir noch jemand Tipps geben!
 
stimmt das ist die Frage...
wenn es nur um ganze Zahlen geht kann man ja die länge des Strings bestimmen, dann in einer lookup struktur nachschauen, ob man sich in den "Zehnern", "Hunderter", "Tausender" usw. befindet.
Interessant wird es dann nur bei den Zehnern, weil wir deutsche ja z.b. Dreiundfünfzig sagen anstatt fünfzigunddrei....
 
Die Ausgabe soll zum Beispiel lauten: eins null null

Habe meine Version nun überarbeitet und eine Eingabeaufforderung eingefügt. Es klappt so wie es sein soll. Lediglich eine do - while schleife konnte ich noch nicht einfügen. Der Zahlenbereich soll nähmlich eingeschränkt sein.

So schwer kann das jetzt nicht mehr sein ???:L
 
Du willst also bestimme Ziffern aus eine Zahl lesen:

Nehmen wir die Zahl z=512

Stelle n
3 2 1
Ziffer d
5 1 2

Dafür hab ich mal eine Formel aufgestellt: d = ((z-(z%10^(n-1)))/10^(n-1))%10

oder in Java:
Code:
public int ziffer(int z, int n) {
  int d;
  int tmp;

  tmp = z % Math.pow(10,n-1);
  tmp = z-tmp;
  tmp = tmp / Math.pow(10,n-1);
  d = tmp % 10;
  
  return d;
}

So, das war aber aus dem Bauch heraus. Muss nichtz unbedingt richtig sein.
Ich hoffe ich konnte dir damit dennoch helfen
 
beginner hat gesagt.:
Zahlenbereich soll nähmlich eingeschränkt sein. So schwer kann das jetzt nicht mehr sein ???:L
Ist es leider doch :? , weil die Zahl in einen String umgewandelt wird. Hat jemand einen Tipp für dieses Problem?
Wie kann man bei der Eingabe den Zahlenwert abprüfen (x<500) noch bevor der in einen String umgewandelt wird.
 
naja, du bekommst doch den String von der Konsole - oder.
Dann machst du erst ein Integer.parseInt() damit bekommst du den int Wert der eingabe, dann überprüfst du obs passt und wenn ja legst mit deiner Methode los.....

wg. der methode siehe becstifts link
 
deathbyaclown hat gesagt.:
naja, du bekommst doch den String von der Konsole - oder.
Dann machst du erst ein Integer.parseInt() damit bekommst du den int Wert der eingabe, dann überprüfst du obs passt und wenn ja legst mit deiner Methode los.....

wg. der methode siehe becstifts link
Bin auf der Leitung gestanden, habe die Anweisung falsch gesetzt. Jetzt passt alles. Danke für die Hilfe!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben