String in Integer umwandeln

Status
Nicht offen für weitere Antworten.

Agent

Mitglied
Hi,

ich habe einen String gegeben und möchte ein Zeichen aus diesem String (Ganzzahl) in inen Integer speichern.
Java:
int zahl = Integer.parseInt(String.valueOf(mystring.charAt(4)));
Dieser Code soll die fünfte Stelle vom String mystring in die Integer-Variable zahl ablegen.

Beim Compilieren gibts keine Fehler, aber beim Ausführen kommt folgende Meldung:
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:470)
at java.lang.Integer.parseInt(Integer.java:514)
at EightPuzzle.readIn(EightPuzzle.java:121)
at EightPuzzle.main(EightPuzzle.java:65)
Wäre super, wenn mir jemand weiterhelfen kann!
 

0x7F800000

Top Contributor
Laut API ist sowas gar nicht möglich:
String (Java Platform SE 6)
valueOf

public static String valueOf(char c)

Returns the string representation of the char argument.

Parameters:
c - a char.
Returns:
a string of length 1 containing as its single character the argument c.
entweder hast du hier irgendwas gepostet, was im code so gar nicht vorhanden ist, oder du hast einen schwerwigenden bug entdeckt. Mich würde mal der code drumherum interessieren.
 

Agent

Mitglied
Laut API ist sowas gar nicht möglich:
Hallo???
Es muss möglich sein, ein Zeichen aus einem String in einen Integer zu speichern :)

Der Code darüber sieht ungefähr so aus (inzwischen möglicherweise nicht mehr ganz so...)
Java:
  public static int[][] readIn(String filename){
        File file = new File(filename);
        StringBuffer contents = new StringBuffer();
        BufferedReader reader = null;
 
        try
        {
            reader = new BufferedReader(new FileReader(file));
            String text = null;
 
            // repeat until all lines is read
            while ((text = reader.readLine()) != null)
            {
                contents.append(text)
                    .append(System.getProperty(
                        "line.separator"));
            }
        } catch (FileNotFoundException e)
        {
            e.printStackTrace();
        } catch (IOException e)
        {
            e.printStackTrace();
        } finally
        {
            try
            {
                if (reader != null)
                {
                    reader.close();
                }
            } catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        
        //System.out.println(contents.toString());

	String content=contents.toString();
	String h;
	int k=0;
	int[][] board;
	board = new int[3][3];
 

andre111

Bekanntes Mitglied
Code:
int zahl = mystring.charAt(4);
Das funktioniert, falls mystring länger als 4 Zeichen ist.
 

Ark

Top Contributor
Warum finde ich in dem Codestück kein valueOf()? ???:L

@andre111: Das ist wohl korrekt, aber nicht das Problem, denn dann wäre es eine StringIndexOutOfBoundsException.

Ark
 

0x7F800000

Top Contributor
Hallo???
Es muss möglich sein, ein Zeichen aus einem String in einen Integer zu speichern
Hast du meinen Beitrag gelesen? "unmöglich" bezog sich nicht auf String->Integer Umwandlung, sondern auf den fehler, der da angeblich auftreten soll... String.valueOf(char) kann unmöglich "" zurückliefern, das meinte ich mit "unmöglich".

Was dieser Codeausschnitt soll verstehe ich grad gar nicht, da kommt doch nirgends Integer.parseInt vor?! ???:L
 

0x7F800000

Top Contributor
So wie ich das sehe, wird dem Integer zahl damit einfach der ASCII-Code vom fünften Zeichen im String zugewiesen!?!
äääh, ASCII-Code ist das nicht, aber irgendetwas kryptisches. Wenn du jedenfalls
Code:
int x='1';
hinschreibst, wird in x definitiv nicht der integer-wert 1 gespeichert, sondern irgendeine Zahl, so zwischen 0 und 200 schätz ich mal... Mit deiner eigentlichen Frage scheint es aber nichts zu tun oder? Erzähl mal lieber, was du mit dem code ausschnitt da oben gemeint hast ;)
 

Agent

Mitglied
Aaalso. Hier das leicht abgeänderte Code-Schnipsel. Die Funktion soll ein 3x3-Spielfeld aus einer Textdatei einlesen und dieses im Array board ablegen.

Java:
  public static int[][] readIn(String filename){
        File file = new File(filename);
        StringBuffer contents = new StringBuffer();
        BufferedReader reader = null;
 
        try
        {
            reader = new BufferedReader(new FileReader(file));
            String text = null;
 
            // repeat until all lines is read
            while ((text = reader.readLine()) != null)
            {
                contents.append(text)
                    .append(System.getProperty(
                        "line.separator"));
            }
        } catch (FileNotFoundException e)
        {
            e.printStackTrace();
        } catch (IOException e)
        {
            e.printStackTrace();
        } finally
        {
            try
            {
                if (reader != null)
                {
                    reader.close();
                }
            } catch (IOException e)
            {
                e.printStackTrace();
            }
        }

	String content=contents.toString();
	String h;
	int k=0;
	int[][] board;
	board = new int[3][3];

	if (content.length() <= 20){
	  for (int j=0; j<3; j++) {
	    for (int i=0; i<3; i++) {
	      if (j==0) k=2*i;   //hier wird an die richtige Stelle im String navigiert
	      else if (j==1) k=2*i+7;
	      else if (j==2) k=2*i+14;
	      board[i][j]=content.charAt(k);
	    }
	  }
	}
	return board;
  }

Die zuvor beschriebene Exception ist nicht mehr vorhanden. Das ausgegebene Feld board enthält aber falsche Werte.

Die Textdatei enthält:
1 2 3
4 0 5
7 8 6

Das Array board enthält:
49 50 51
32 32 10
56 54 10
 

Der Müde Joe

Top Contributor
>String.valueOf(char) kann unmöglich "" zurückliefern, das meinte ich mit "unmöglich".

doch:

Java:
Integer.parseInt(String.valueOf((char)173));

;-)
 

andre111

Bekanntes Mitglied
Upps, jetzt versteh ich glaub, wenn der char '1' ist, dann soll der Wert der Integervariable auch 1 sein.
Dann ist mein Codebeispiel natürlich falsch, sry. :oops:
 

Der Müde Joe

Top Contributor
>Was bringt mir das jetzt? Hast du hier schon mal was geschrieben?

Naja....hätte die Lösung jetzt..aber dann halt

Schau in die Ascii Tabelle und schau dir an welches Zeichen an der stelle 49 ist...
Alernativ:
Java:
System.out.println((char)49);
 

0x7F800000

Top Contributor
@Der Müde Joe: Was bringt mir das jetzt?
Allgemeinbildung, und vielleicht findest du das auch gewissermaßen lustig^^
Hast du hier schon mal was geschrieben?
joah, so einiges, das erkennt man am status "Megabyte" ;)
genau genau genau :)
du musst es nur klein wenig verändern:
Code:
content.charAt(k)-'0';
sollte den "echten" integer wert liefern, der der Ziffer entspricht. Das liegt daran, dass chars '0','1','2'... alle nacheinander folgen, und im prinzip nur komische symbole für stinknormale zahlen sind, also so in etwa:
'0'=789,'1'=790,'2'=791 usw
(die "wahren" werte sind frei erfunden, kA wo das anfängt)

@Der Müde Joe: was hast du dir da tolles rausgesucht? irgendein "beep"-char, oder irgendein "verschluck den letzten char"-char oder irgendsowas hackiges? ;) Das wollte ich dem OP absichtlich ersparen :p Aber die API ist dennoch ungenau^^:autsch:
 

Der Müde Joe

Top Contributor
>was hast du dir da tolles rausgesucht?

Frag besser nicht:
Java:
for (int i = 0; i < 256; i++) {
	try {
		System.err.println(i + " " + (char) i);
		Integer.parseInt(String.valueOf((char) i));
	} catch (Exception e) {
		e.printStackTrace();
	}
}
 

Ebenius

Top Contributor
Wieso nicht einfach? Entweder:
Java:
Character.digit(mystring.charAt(4), 10);
oder:
Java:
Integer.parseInt(myString.substr(4, 5));
Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
K String in Integer umwandeln Java Basics - Anfänger-Themen 4
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
L String in Integer umwandeln Java Basics - Anfänger-Themen 3
R Kompletten String umwandeln in Integer Java Basics - Anfänger-Themen 10
Orkanson Datentypen Integer in String umwandeln/hinzufügen Java Basics - Anfänger-Themen 3
C Binärzahl vom Typ String in eine Zahl vom Typ Integer umwandeln Java Basics - Anfänger-Themen 4
G integer in String umwandeln Java Basics - Anfänger-Themen 1
F Integer zu String umwandeln Java Basics - Anfänger-Themen 5
S String in Integer umwandeln -> geht nicht so wie ich will Java Basics - Anfänger-Themen 5
S String in Integer umwandeln Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
V int zu Integer und String Java Basics - Anfänger-Themen 6
K Datentypen String zu Integer parsen Java Basics - Anfänger-Themen 2
C Liste o.ä. erstellen mit <Integer, <Integer, String> Java Basics - Anfänger-Themen 7
D Fehler: String zu Integer Java Basics - Anfänger-Themen 7
R String in Integer Java Basics - Anfänger-Themen 11
D Datentypen Ein Integer Feld in einen String wandeln ohne Nullenunterdrückung Java Basics - Anfänger-Themen 6
B gemischter string zu integer Java Basics - Anfänger-Themen 22
D String mit Integer Variablen Namen vergleichen, möglich? Java Basics - Anfänger-Themen 6
H Integer.toString(int i) vs. String.valueOf(int i) Java Basics - Anfänger-Themen 12
G String Array konvertieren in Integer Array? Java Basics - Anfänger-Themen 7
G Uhrzeit als String in Integer (HH:MM:SS) Java Basics - Anfänger-Themen 5
W String & Integer im Array Java Basics - Anfänger-Themen 7
K Problem: Array String to Integer Java Basics - Anfänger-Themen 2
D String in Integer Array aufteilen Java Basics - Anfänger-Themen 12
J String split-Funktion und Integer Java Basics - Anfänger-Themen 13
M Integer.parseInt String zerlegen Java Basics - Anfänger-Themen 6
T Binärer String zu Integer Java Basics - Anfänger-Themen 12
eXistenZ wert von einem String auf einen Integer ändern =( Java Basics - Anfänger-Themen 6
S String in Integer Array splitten Java Basics - Anfänger-Themen 2
M Datentypen Mehrere Integer aus einem String auslesen Java Basics - Anfänger-Themen 4
M String mit mehreren Zahlen in Integer-Array Java Basics - Anfänger-Themen 2
S Umwandlung von Integer zu String Java Basics - Anfänger-Themen 4
A Double-String -> Integer-String Java Basics - Anfänger-Themen 4
S String auf Integer prüfen - wie am günstigsten? Java Basics - Anfänger-Themen 4
K conversion string into integer Java Basics - Anfänger-Themen 34
T String-Integer-Gemisch überlisten? Java Basics - Anfänger-Themen 3
G länge von string, string aus integer/char Java Basics - Anfänger-Themen 6
G String in Integer Java Basics - Anfänger-Themen 5
W gemischten String auf Integer wert prüfen Java Basics - Anfänger-Themen 4
N Zahl aus einem String finden und als Integer speichern Java Basics - Anfänger-Themen 3
G String oder Integer Java Basics - Anfänger-Themen 7
G String --> Integer Java Basics - Anfänger-Themen 4
M String und Integer zusammenfügen? Java Basics - Anfänger-Themen 4
P Integer aus String erzeugen, der nicht nur Zahlen hat. Java Basics - Anfänger-Themen 2
F double/integer in string Java Basics - Anfänger-Themen 7
P Casting von Object zu (String || Integer) Java Basics - Anfänger-Themen 8
N integer an ein string hängen Java Basics - Anfänger-Themen 8
U int to String über Integer Java Basics - Anfänger-Themen 6
B schleife beenden (vermutl. integer <-> leerer string p Java Basics - Anfänger-Themen 9
U String nach Integer Casten. Java Basics - Anfänger-Themen 4
B Integer to String Java Basics - Anfänger-Themen 14
M String in Integer wandeln Java Basics - Anfänger-Themen 8
F Umwandlung von String in Integer Java Basics - Anfänger-Themen 3
B String to Integer Java Basics - Anfänger-Themen 3
M String in Integer konvertieren Java Basics - Anfänger-Themen 4
richis-fragen String("AT") als StringObject-Variable deklarieren Java Basics - Anfänger-Themen 14
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben