2017-01-27 1 views
3

Ich habe Code für die Konvertierung von jeweils 2 Zahlen in ein bestimmtes Zeichen, dieser Code funktioniert, aber die Ausgabe ist mit einem unerwünschten Wort "null". Ich möchte es entfernen. Ich kann nicht identifizieren, welcher Teil des Codes falsch ist.So entfernen Sie das Wort "null" aus der Zeichenfolge in ActionScripts3

var encoded_numbers:String = "102030"; 
var sub:String; 
var decode_string:String; 

for (var i2:int = 0; i2 < encoded_numbers.length; i2 += 2) 
{ 
    sub = encoded_numbers.charAt(i2) + encoded_numbers.charAt(i2 + 1); 
    //trace(sub); 

    switch(sub) 
    { 
    case "10": 
     decode_string += "A"; 
     break; 
    case "20": 
     decode_string += "B"; 
     break; 
    case "30": 
     decode_string += "C"; 
     break; 

    } 

} 
trace(decode_string);//convert  

Output-String:

nullABC 

Antwort

5

Anfangswert Ihres decode_string ist null. Einfach den Anfangswert zuweisen, wie folgt:.

var decodeString:String = ""; 
+0

Danke für Ihre einfache Antwort. –

4

“... aber Ausgang ist mit einem unerwünschten Wort‚null‘Ich möchte es entfernen Ich kann nicht erkennen, welcher Teil des Codes falsch ist. . "

Wenn Sie sagen: var decode_string:String; Sie haben eine Variable deklariert, aber es hat keinen Wert so standardmäßig gibt es aufgrund von „null“. Das Problem ist später, wenn Sie += Operator verwenden, um Ihre ABC Buchstaben weiter anzufügen, die letzte Zeichenfolge ist jetzt nullABC geworden.

zu beheben:

Machen Sie Ihre Strings leer/leer (aber nie wert weniger) von String = ""; mit ...

var encoded_numbers:String = "102030"; 
var sub:String = ""; 
var decode_string:String = ""; 

Auch substr betrachten für Teile von Texten zu extrahieren (statt charAt)

for (var i2:int = 0; i2 < encoded_numbers.length; i2 += 2) 
{ 
    sub = encoded_numbers.substr(i2, 2); //gets 2 letters from position of i2 
    //trace(sub); 

    switch(sub) 
    { 
     case "10": 
      decode_string += "A"; 
      break; 
     case "20": 
      decode_string += "B"; 
      break; 
     case "30": 
      decode_string += "C"; 
      break; 

    } 

} 
trace(decode_string);//convert  
Verwandte Themen