Alles eine Typfrage

Panda9296

Bekanntes Mitglied
Hey Leute=),
Ich bin ein Neuling, also bitte nicht mit Steinen schmeißen.
Ich bin schon die ganze Zeit an einer Übungsaufgabe meiner Selbstvermittlung in dem Buch Schrödinger programmiert Java:

Die Aufgabe ist eigentlich ganz einfach du hast die Zahl 5354 und das System soll die Aussage true:false geben, ob die Zahl in den Datentyp passt:

Hier mein Code:


Java:
package de.datentypprüfung.miguel.java;


public class Datentypen {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
       
   
       
        Long a = Long.parseLong(args[0]);
        System.out.println("Die Zahl " + a + " passt in den Wertebreich von Long: " + (a>= Long.MIN_VALUE && a<= Long.MAX_VALUE));
        System.out.println("Die Zahl " + a + " passt in den Wertebereich von Integer: "+  (a >= Integer.MIN_VALUE && a <= Integer.MAX_VALUE));
        System.out.println("Die Zahl "+a+" passt in den Wertebereich von short: " +(a>= Short.MIN_VALUE && a<= Short.MAX_VALUE));
        System.out.println("Die Zahl "+a+ " passt in den Wertebereich von byte: "+ (a>= Short.MIN_VALUE&& a<= Short.MAX_VALUE));
        }
   

}

So AUA eigentlich sollte es so gehen kriege aber eine Fehlermeldung aufgrund fehlenden Parameter? Ja vielleicht ich muss ja den Wert deklaieren und a ist nur die Variable. Mit einem Scanner wäre es einfacher aber auch hier bin ich gescheitert mit der IF- Struktur die ich selbst anheften wollte. ( Ich hatte diese leider noch nicht. Möchte aber möglichst selbst Lösungen finden. wie bekomme ich das hin bzw. ist was am Code falsch, weil die Eclipse sagt ja es ist alles richtig.( Bevor mit einem großen Stein geschmissen wird ==> der Compiler gibt die freigabe zum kompilieren)
 
Zuletzt bearbeitet von einem Moderator:
K

kneitzel

Gast
Du meinst als Fehler sowas wie:
Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at de.javaforum.Datentypen.main(Datentypen.java:6)
(Namespace ist bei mir anders als bei Dir, Zeilennummer kann auch unterschiedlich sein....)

Also erst einmal zu dieser Fehlermeldung: Du Wertest das erste Argument aus, das mit übergeben wird. Wenn Du es ohne Parameter aufrufst, dann kommt dieser Fehler, denn args hat keine Elemente und damit halt kein Element 0 (welches das erste Element war).

Also musst Du es mit Parameter aufrufen. Das kannst Du z.B. per Kommandozeile machen. Mit aktuellem Java reicht dazu, dass Du im source Folder stehst und
Code:
javac de/datentypprüfung/miguel/java/Datentypen.java
java de.datentypprüfung.miguel.java.Datentypen 12345[/CODE]
startest.

Zu dem Code:
Der ist erst einmal Syntaktisch richtig. Aber es gibt zwei Dinge, die auffallen:
a) Wenn das Argument nicht in ein long passt, dann schlägt der parse Aufruf fehl und es wird eine NumberFormatException geworfen.
b) Bei der Prüfung auf Byte steht Short und nicht Byte.

Viele Grüße,

Konrad
 

mihe7

Top Contributor
Ich bin ein Neuling, also bitte nicht mit Steinen schmeißen.
Keine Angst, hier schmeißt in der Regel niemand mit Steinen. Viele (inkl. mir) verstehen das Forum als Hilfe zur Selbsthilfe. Es gibt also meist keine fertigen Lösungen, vielmehr wird gerade von Anfängern entsprechender Einsatz erwartet, weil der Lerneffekt größer ist. Wenn ich Deinen Kommentar richtig interpretiere, ist das Forum also genau das richtige für Dich :)

Inhaltlich hat @JustNobody eigentlich schon alles geschrieben, daher nur eine Bitte für die Zukunft: wenn Du Code postest, dann formatiert und in Code-Tags. Das geht über die drei Punkte neben dem Smiley in der Toolbar des Editors oder direkt im Text mittels [code=Java]Dein Code[/code].
 

Panda9296

Bekanntes Mitglied
Keine Angst, hier schmeißt in der Regel niemand mit Steinen. Viele (inkl. mir) verstehen das Forum als Hilfe zur Selbsthilfe. Es gibt also meist keine fertigen Lösungen, vielmehr wird gerade von Anfängern entsprechender Einsatz erwartet, weil der Lerneffekt größer ist. Wenn ich Deinen Kommentar richtig interpretiere, ist das Forum also genau das richtige für Dich :)

Inhaltlich hat @JustNobody eigentlich schon alles geschrieben, daher nur eine Bitte für die Zukunft: wenn Du Code postest, dann formatiert und in Code-Tags. Das geht über die drei Punkte neben dem Smiley in der Toolbar des Editors oder direkt im Text mittels [code=Java]Dein Code[/code].
okay vielen dank=)
 

Panda9296

Bekanntes Mitglied
Du meinst als Fehler sowas wie:
Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at de.javaforum.Datentypen.main(Datentypen.java:6)
(Namespace ist bei mir anders als bei Dir, Zeilennummer kann auch unterschiedlich sein....)

Also erst einmal zu dieser Fehlermeldung: Du Wertest das erste Argument aus, das mit übergeben wird. Wenn Du es ohne Parameter aufrufst, dann kommt dieser Fehler, denn args hat keine Elemente und damit halt kein Element 0 (welches das erste Element war).

Also musst Du es mit Parameter aufrufen. Das kannst Du z.B. per Kommandozeile machen. Mit aktuellem Java reicht dazu, dass Du im source Folder stehst und
Code:
javac de/datentypprüfung/miguel/java/Datentypen.java
java de.datentypprüfung.miguel.java.Datentypen 12345[/CODE]
startest.

Zu dem Code:
Der ist erst einmal Syntaktisch richtig. Aber es gibt zwei Dinge, die auffallen:
a) Wenn das Argument nicht in ein long passt, dann schlägt der parse Aufruf fehl und es wird eine NumberFormatException geworfen.
b) Bei der Prüfung auf Byte steht Short und nicht Byte.

Viele Grüße,

Konrad
okay ja das Paramenter wäre also in diesem Beispiel statt args[0 ] int 5354 . Der Autor erwähnt, dass die Fälle die du genannt hast noch bearbeitet werden==> bitte kein Spoiler; ich möchte das selbst erstmal probieren =P vielen dank für deine Antwort
 
K

kneitzel

Gast
Der Parameter ist ein String, kein int. In der Main ist es ja der Parameter: String[] args.
Daher ja auch die Umwandlung. Und String -> anderen Typ nennt sich "parsen" daher der Aufruf: Long a = Long.parseLong(args[0]);:
Das erste Element der args Arrays (Man fängt beim Nummerieren bei 0 an!) wird zu einem long übersetzt ("geparst", so man Denglisch sprechen will) und dann als Long gespeichert in der Variablen mit dem Namen "a".

Viel Spaß beim Probieren und weiter voran kommen.
 

Panda9296

Bekanntes Mitglied
Der Parameter ist ein String, kein int. In der Main ist es ja der Parameter: String[] args.
Daher ja auch die Umwandlung. Und String -> anderen Typ nennt sich "parsen" daher der Aufruf: Long a = Long.parseLong(args[0]);:
Das erste Element der args Arrays (Man fängt beim Nummerieren bei 0 an!) wird zu einem long übersetzt ("geparst", so man Denglisch sprechen will) und dann als Long gespeichert in der Variablen mit dem Namen "a".

Viel Spaß beim Probieren und weiter voran kommen.
vielen dank, das war das hilfreichste Kommentar. Ich übe jeden Tag auch im Urlaub und hänge Stunde um Stunde an jedem Schritt, da es nicht so einfach ist für mich, das zu lernen, aber es macht eine Menge Spaß und ich freue mich auf weitere 8 Stunden die ich mit den Kontrollstrukturen verbringe =)
 
K

kneitzel

Gast
Ich wünsche Dir viel Spass und Erfolg und vielen Dank für das positive Feedback. Ich freue mich, dass ich Dir weiter helfen konnte und mein Beitrag nützlich war.

Wenn Du wieder über irgendwas stolperst oder nicht richtig verstehst: Einfach wieder fragen. Die meisten hier versuchen Sachverhalte zu erläutern (Wobei es wie überall auch hier die Kategorie "ich poste einfach funktionierenden Code" gibt. Aber ich habe hier schon mehrere Mitglieder gesehen, die sich auch immer sehr bemühen, die Sachverhalte auf einfache Art und Weise zu erläutern und wo das Verständnis beim Fragenden im Vordergrund steht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Anfänger2011 Wie bricht man alles ab wenn eine Bedingung nicht erfüllt ist? Java Basics - Anfänger-Themen 21
I Was gehört alles in eine Softwaredokumentation? Java Basics - Anfänger-Themen 4
LFB In einer For-Schleife alles in einer Zeile ausgeben Java Basics - Anfänger-Themen 14
KyZarr Was brauche ich alles? Java Basics - Anfänger-Themen 2
M Get Methode alles einzeln? Java Basics - Anfänger-Themen 6
B Doppelt Verkettete Liste - Ist alles gut so? Java Basics - Anfänger-Themen 3
I Erste Schritte Resource Bundle - Alles in einem File oder mehrere? => Faktor Performance Java Basics - Anfänger-Themen 2
B Schulprojekt mit Java, was kann man alles programmieren? Java Basics - Anfänger-Themen 5
V Was soll alles in den Konstruktor? Java Basics - Anfänger-Themen 3
K JButton alles zurücksetzen Java Basics - Anfänger-Themen 1
E ExecutorService warten bis alles fertig? Java Basics - Anfänger-Themen 5
J Frage zum Thema ... alles mögliche! Java Basics - Anfänger-Themen 6
J Kann man auch alles in einer Klasse schreiben? Java Basics - Anfänger-Themen 2
D setAlwaysOnTop(true); toFront(); - bringt alles nichts Java Basics - Anfänger-Themen 5
M MergeSort - Threads in Anwendung bremsen alles! Java Basics - Anfänger-Themen 4
M nach dem Minimieren is alles wech.... Java Basics - Anfänger-Themen 7
-horn- Wann wird alles NaN erzeugt? Java Basics - Anfänger-Themen 22
S Regulärer Ausdruck - alles was keine Zahl ist entfernen Java Basics - Anfänger-Themen 2
G Zufallszahlen die alles einmal vorkommen Java Basics - Anfänger-Themen 15
D Es wird nicht alles angezeigt Java Basics - Anfänger-Themen 4
M Was brauch ich alles für Java Programmieren Java Basics - Anfänger-Themen 14
G Einfügen aus Zwischenablage - alles doppelt? Java Basics - Anfänger-Themen 2
G kann man alles mögliche in Obect kapseln? Java Basics - Anfänger-Themen 2
K Programm tut nicht alles, was es soll Java Basics - Anfänger-Themen 3
P Was brauche ich alles um mit Java loszulegen Java Basics - Anfänger-Themen 24
2 Alles Selektieren in JEditorPane Java Basics - Anfänger-Themen 5
G regulärer Ausdruck alles was zwischen ' ' steht Java Basics - Anfänger-Themen 4
G textfield überdeckt alles Java Basics - Anfänger-Themen 3
I Drucker fragen, ob alles in ordnung Java Basics - Anfänger-Themen 3
V was alles ins Userinterface? Java Basics - Anfänger-Themen 3
D Einmal Runden ohne alles Java Basics - Anfänger-Themen 7
C GregorianCalendar glaubt mir alles wieso! Java Basics - Anfänger-Themen 12
I ImageIO.write(bild, "was gibts da alles", pfad); Java Basics - Anfänger-Themen 6
G Paint Methode löscht alles Java Basics - Anfänger-Themen 4
G Was brauch ich alles Java Basics - Anfänger-Themen 7
M JTextField auf anklickern alles wech? Java Basics - Anfänger-Themen 12
M j2ee: was braucht es alles dazu? Java Basics - Anfänger-Themen 3
R Alles ignorieren ausser Zahlen Java Basics - Anfänger-Themen 21
A Was kann Java alles? Java Basics - Anfänger-Themen 22
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
G Wie wartet man bis ein URL eine Antwort zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
M mit Maven eine ausführbare Jar bauen Java Basics - Anfänger-Themen 7
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
S Eine Idee umsetzen ganz schnell!? Java Basics - Anfänger-Themen 68
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
jeff98 Wie kann man in Java eine Zeichenformation ausgeben? Java Basics - Anfänger-Themen 9
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
L Anpassung der Spaltenbreite auch auf eine zweite Tabelle anwenden Java Basics - Anfänger-Themen 8
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben