Kann String nicht in int konvertieren, aber beide sind Strings?

8

Ich mache gerade ein paar Übungen in einem Buch für einen Java-Sommerkurs, weil ich ein bisschen weiter bin, was bedeutet, dass das keine Hausaufgaben sind. Ich erhalte eine Fehlermeldung, dass Sie nicht von String in int konvertieren können, aber beide sind Strings, einer ist eine Variable und einer ein Array.

In dieser Zeile habe ich Probleme mit ... select = items[select];

%Vor%     
NoobCoderChick 29.06.2015, 04:49
quelle

6 Antworten

10

Da select eine String Variable ist, kann sie nicht als Index in einem Array verwendet werden.

%Vor%

Ich glaube, Sie wollten den Indexwert i in Ihrer for -Schleife verwenden (wobei i ist 0 bis items.length ). Etwas wie

%Vor%

Allerdings, basierend auf Ihren Kommentaren unten, glaube ich, dass Sie wirklich wollten

%Vor%

Je nach Ihrer Bearbeitung könnten Sie dies mit zwei Arrays und zwei Loops tun. Etwas wie,

%Vor%

Aber ein Map wäre (meiner Meinung nach) eine bessere Lösung (es ist sicherlich effizienter). Wie,

%Vor%     
Elliott Frisch 29.06.2015 04:50
quelle
3

item ist ein String-Array.

Auf das Array wird durch Indizes zugegriffen (die Werte müssen ganzzahlig sein, da es sich nicht um ein assoziatives Array wie in PHP handelt).

Sie versuchen, auf den Wert eines Arrays zuzugreifen, indem Sie den String als Index verwenden, was nicht möglich ist, und deshalb erhalten Sie einen Konvertierungsfehler.

ändern

%Vor%

bis

%Vor%

Dadurch wird der String-Wert in Integer konvertiert und an das Array übergeben. Sie greifen jetzt auf das String-Array mit dem Ganzzahl-Index zu.

    
Danyal Sandeelo 29.06.2015 05:24
quelle
3
%Vor%

Wenn Sie mit dem Index ein Objekt aus dem Array abrufen, müssen Sie den int-Wert angeben. Es ist also besser, dass Sie Ihren Code wie folgt ändern.

%Vor%

Wenn Sie Zeit haben, folgen Sie weiter unten, um weitere Informationen zu den Arrays zu erhalten. Ссылка

    
ambarox 30.06.2015 09:34
quelle
0

Weil items[] eine Liste und keine Map ist. Es muss durch eine Nummer indiziert werden.

%Vor%     
Leonardo 29.06.2015 05:01
quelle
0
%Vor%

Der Fehler ist aufgetreten, weil die "String-Auswahl" zum Speichern von Benutzereingaben verwendet wird, bei denen es sich um eine Nummer handelt und später während der Schleife der Einrichtungsname gespeichert wird.So werden bei der nächsten Iteration die Elemente [] von Möbeln angezeigt Name heißt. Wer wird einen Fehler werfen.

    
Benoy Prakash 29.06.2015 05:54
quelle
0

Hier ist ein kurzes Beispiel, das zeigt, wie Sie tun können, was Sie wollen. Ich habe auch die Grammatik für dich festgelegt: es ist buchstabiert.

%Vor%     
jt-gilkeson 29.06.2015 20:27
quelle

Tags und Links