Integer.parseInt

Status
Nicht offen für weitere Antworten.

MichaelR

Aktives Mitglied
Hallo zusammen,
bin ein totaler Java Neuling und hab auch davor noch mit keiner anderen Sprache programmiert.
Würd mal gern wissen, ob ich den Definitionsbereich von der Integer.ParseInt einschränken kann. Ich will einen String einlesen lassen und diesen dann übergeben. Es soll nun nicht nur bei Buchstaben eine Exception auslösen, sondern auch wenn die übergebene Zahl nicht zwischen 0 und 20 liegt.
Hier noch der Quellcode, falls es hilft. Ach ja, wär auch an anderen eleganten, aber einfachen (Neuling), interessiert.


Das ist mein Code

Code:
package paket1;

public class RandomSpanisch {

public static void main (String [] args){
		String a =null; 
		
		String s = javax.swing.JOptionPane.showInputDialog ("Bitte Zahl eingeben");
		int z=0;

		z = Integer.parseInt(s);

		if (z>20) javax.swing.JOptionPane.showMessageDialog(null, "Keine Zahlen größer als 20");
		if (z<0) javax.swing.JOptionPane.showMessageDialog(null,"keine Zahlen kleiner als 0") ;
		
                  try{
			if (z==0)a=" cero";
			...// hier werden alle Zahlen bis 20 aufgelistet
			if (z==20)a=" veinte";
			javax.swing.JOptionPane.showMessageDialog(null, z+a);	 
			
			
		}
		
		catch (Exception o){
			javax.swing.JOptionPane.showMessageDialog(null,"Ganze Zahl zwischen 0-20 eingeben ");
			
		}
			
		
		
		
	}
}
 

0x7F800000

Top Contributor
1) Exceptions sollten (wie der name schon sagt) nur in Ausnahmefällen auftreten. Bei jeder (durchaus zu erwartender) falschen Eingabe des Benutzers das Programm künstlich mit unnötigen exceptions zu zerfetzen ist zum einen äußerst benutzerunfreundlich, und zum anderen sicherlich nicht nötig. Wenn die Zahl nicht passt, weise den Benutzer darauf hin und frag nochmal. Kein grund die Kavalerie zu alarmieren^^

2) was wird denn bei den ganzen if's abgefangen? warum ist da ein try-block drum herum?

3) wozu sind die ganzen if's überhaupt da? Wenn je nach fall unterschiedliche aktionen ausgeführt werden müssen, sieht switch(){case: ; ...} schon wesentlich übersichtlicher aus. In deinem fall werden nicht einmal unterscheidliche Aktionen ausgeführt, sondern lediglich unterschiedliche strings ausgegeben. Da ist es doch wesentlich einfacher, kürzer und übersichtlicher, die strings in ein array zu packen, und je nach eingegebenen Zahl das entsprechende wort auszugeben, ohne irgendwelche lahmen & unnötigen if-abfragen.

4) warum speicherst du das leerzeichen bei den namen der zahlen? das ist sehr unschön. Nimm das leerzeichen raus, und füge das an der stelle ein, wo es nötig ist, nämlich dort, wo die ausgabe zusammengesetzt wird.

5) Bei solch allgemeinen fragen besser in den "Allgemeines" oder "Anfängerfargen"-Subforen vorbeischauen, da kriegst du wesentlich schneller eine Antwort. Im Mathe forum geht's meistens um irgendwelche algorithmen und berechnungen [deswegen schaut hier kaum einer rein, ale haben angst :p ], da passen deine Italienischhausaufgaben nicht wirklich rein ;)

6)

Ach ja, wär auch an anderen eleganten, aber einfachen (Neuling), interessiert.
Code:
Das ist mein Code.
6a: den ersten Satz hast du doch wohl selbst nicht verstanden^^
6b: o ja, die code tags sind schon heimtückisch, aber es gibt auch den edit-button, guggst du ober rechts direkt über dem beitrag. ;)
 
G

Gast2

Gast
Moin,

Code:
z = Integer.parseInt(s);
hier zerlegt es Dir schon Dein Programm, wenn s ein ungültiges Zeichen enthält

Code:
bool gueltig = false;
while(!gueltig)
{
    Try
    {
        z = Integer.parse(s);
        if (z < 0 || z > 20)
        {
             javax.swing.JOptionPane.showMessageDialog(null, "die Zahl darf nur von 0 bis 20 gehen");
        } else
        {
             gueltig = true;
        }
    } catch(Exception e) 
    {
        e.printStacktrace();
        javax.swing.JOptionPane.showMessageDialog(null, "die eingebene Zahl war keine Zahl");
    }
}

hand, mogel
 

Leroy42

Top Contributor
Andrey hat gesagt.:
MichaelR hat gesagt.:
Ach ja, wär auch an anderen eleganten, aber einfachen (Neuling), interessiert.
6a: den ersten Satz hast du doch wohl selbst nicht verstanden^^

Ich verstehe den Satz schon!

Denke aber, daß MichaelR nicht so wirklich das meinte,
was er da geschrieben hat! :shock: ( :cool: )

Edit: Also zumindest bin ich weder ein eleganter noch ein einfacher Neuling! ???:L
 

MichaelR

Aktives Mitglied
So, hat jetzt ne Weile gedauert. Bin zur Zeit bisschen im Stress. Aber will mich erst mal für die schnelle Hilfe bedanken. Ihr habt mir paar interessante Anregungen gegeben. Schätz mal, ich werd euch noch öfters mit meinen Problemen belästigen, dann aber im Anfängerforum.

Und naja, meine Sätze sind manchmal bisschen konfus. Bin nicht auf der Suche nach einfachen Neulingen. Es sei denn, die sind weiblich :D
Bin mehr an einfachen Lösungen interessiert.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E String in Zahl umwandeln, ohne Befehl Integer.parseInt Allgemeine Java-Themen 3
K Input/Output Integer.parseInt() an Textdateien anwenden Allgemeine Java-Themen 2
L Problem mit Integer.parseInt Allgemeine Java-Themen 17
J Integer.parseInt funktioniert nicht immer Allgemeine Java-Themen 3
MCDragon IDEA IntelliJ Integer Number Too Long - Help Allgemeine Java-Themen 1
mrStudent The method append is not applicable for the arguments (Queue<Integer>, Queue<Integer>) Allgemeine Java-Themen 4
O JSON in Integer parsen Allgemeine Java-Themen 5
D Kgv aller Paare aus einem Array mit n integer berechnen Allgemeine Java-Themen 5
D Integer-Array variabler Größe mit Zahlen befüllen (Schleifen) Allgemeine Java-Themen 0
J Mit Lombok Integer Range prüfen Allgemeine Java-Themen 6
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
R Datentypen Korrekte integer in Hex ASCII Konvertierung und serialisierung Allgemeine Java-Themen 1
B List<Integer> ist List<Double> ? Allgemeine Java-Themen 6
J Eine bestimmte Zahl im Integer ändern Allgemeine Java-Themen 9
V Eingegeben String Splitten und in Integer umwandeln Allgemeine Java-Themen 2
J Transfer von Integer zwischen zwei Clients - RMI Allgemeine Java-Themen 4
heyluigi Random Integer Array Ausgabe nach Größe sortieren Allgemeine Java-Themen 6
X Integer.numberOfTrailingZeros() Allgemeine Java-Themen 1
K Array, Int expected, Integer found Allgemeine Java-Themen 5
HarleyDavidson Best Practice Integer-Zahlenfolge über mehrere Programmstarts Allgemeine Java-Themen 7
B Transferable in String/Integer umwandeln Allgemeine Java-Themen 11
D Beste Collection für Integer Allgemeine Java-Themen 4
Zettelkasten Double --> Integer Allgemeine Java-Themen 4
M Datentypen ArrayList in Integer konvertieren Allgemeine Java-Themen 3
S Variablen Prüfen ob Number vom Typ Integer, Float, Double, ... ist Allgemeine Java-Themen 2
O Input/Output Textfeld: nur Integer annehmen Allgemeine Java-Themen 9
T int <-> integer, double <-> Double... Allgemeine Java-Themen 2
P JFormattedTextField für durch Semikolon getrennte Integer-Werte gesucht / Regulärer Ausdruck Allgemeine Java-Themen 3
GianaSisters Klassen ArrayList Index Integer int Allgemeine Java-Themen 5
G Datentypen JGoodies Binding und JSpinner mit Integer Allgemeine Java-Themen 2
C Benchmark: ArrayList<Integer>, Integer[], int[] Allgemeine Java-Themen 10
Rudolf Aus Collection<Integer> eine Zahl machen Allgemeine Java-Themen 2
O Nach parse von String zu Integer verliere ich Programmablauf! Allgemeine Java-Themen 10
Z Cast von Long zu Integer funktionert nicht Allgemeine Java-Themen 3
E Zweidimensionales Array Integer[10 000][10 000] -> out of memory? Allgemeine Java-Themen 4
T Integer aus InputStream lesen Allgemeine Java-Themen 3
S String[] in Integer umwandeln Allgemeine Java-Themen 16
K Heap-Volllaufen bei ArrayList<Integer> Allgemeine Java-Themen 9
C Character in Integer Allgemeine Java-Themen 12
D Double to Integer - ist das möglich? Allgemeine Java-Themen 3
R Anführungszeichen Integer.valueOf(String).intValue(); Allgemeine Java-Themen 6
H Integer/String Allgemeine Java-Themen 9
MQue byte[] Array to Integer Allgemeine Java-Themen 4
J Mit mehrdimensionalen Integer-Arrays arbeiten Allgemeine Java-Themen 17
R Eigene ArrayList vom Typ Short, Integer oder Double Allgemeine Java-Themen 4
G erzeugen von "ArrayList<Integer>[][]" Allgemeine Java-Themen 7
G enum Integer zuweisen Allgemeine Java-Themen 14
G Integer aus String Allgemeine Java-Themen 4
X cannot convert from Object[] to Integer[] Allgemeine Java-Themen 2
B 16Bit Integer aus ByteArray im Little Endian Format Allgemeine Java-Themen 17
O java.lang.NumberFormatException für normalen integer Allgemeine Java-Themen 4
T Integer hhmm addieren Allgemeine Java-Themen 11
MQue Integer in String Allgemeine Java-Themen 2
G Datumswert String in Integer umwandeln Allgemeine Java-Themen 2
P Integer und Bit-operationen Allgemeine Java-Themen 21
M Java 1.4 und Integer Allgemeine Java-Themen 3
G ArrayList<String> to ArrayList<Integer Allgemeine Java-Themen 2
S Integer zu int konvertieren - JUnit Allgemeine Java-Themen 12
J Integer Array Wert vorhanden? Allgemeine Java-Themen 6
M String nach Integer und führende Nullen Allgemeine Java-Themen 6
B Plaintext Integer einlesen und verarbeiten Allgemeine Java-Themen 3
R cast Integer[] zu int[] Allgemeine Java-Themen 2
D byte nach integer? Allgemeine Java-Themen 4
MQue Object in Integer umwandeln Allgemeine Java-Themen 3
H Integer#valueOf(int) bei 1.4 Allgemeine Java-Themen 7
M Datenstrukrue, List<Map<Integer, Map<String, . Allgemeine Java-Themen 2
M Integer in String umwandeln Allgemeine Java-Themen 7
S Object nach Integer umwandeln Allgemeine Java-Themen 13
R Integer will sich nicht lesen lassen! Allgemeine Java-Themen 9
G Umwandlung Byte in Integer Allgemeine Java-Themen 12
M reflection Integer != int ? Allgemeine Java-Themen 3
P int != Integer Allgemeine Java-Themen 3
N Prüfen ob ein String in einen Integer umgewandelt werden kan Allgemeine Java-Themen 4
P Class zu Integer, String, Double etc. Allgemeine Java-Themen 11
S Integer-Zahlen in Excel-Sheet schreiben Allgemeine Java-Themen 10
T JNI: jcharArray: warning: cast to pointer from integer of. Allgemeine Java-Themen 5
R Float richtig in Integer ? Allgemeine Java-Themen 4
T Integer und TextFelder Allgemeine Java-Themen 3
S Integer-splitten für Abfrage. Allgemeine Java-Themen 4
M Index eines Arrays ermitteln und als Integer ausgeben Allgemeine Java-Themen 7
B Integer zählen bzw. speichern Allgemeine Java-Themen 3
H Array nimmt keinen in Integer konvertierten String auf! Allgemeine Java-Themen 26
H Prüfen, ob es sich um ein Integer handelt Allgemeine Java-Themen 4
G Nur Integer Werte in JTextField Allgemeine Java-Themen 4
V Typumwandlung Integer, Float etc in String Allgemeine Java-Themen 4
C String in Integer wandeln Allgemeine Java-Themen 17
M Hilfe bei parseInt Allgemeine Java-Themen 4
J parseInt Allgemeine Java-Themen 2
G parseInt geht nicht Allgemeine Java-Themen 10

Ähnliche Java Themen


Oben