2016-03-26 5 views
0

Ich schreibe ein Java-Programm, wo ich den Wert der Zeichenfolge in einem Byte-Array speichern müssen (ganzzahlige Werte sind in Zeichenfolge durch Leerzeichen getrennt). Könnte mir bitte jemand helfen, dieses Problem zu lösen.Speichern von String-Wert (bestehend aus Ganzzahlen) getrennt durch Leerzeichen in Byte-Array in Java

ex:

Input: String str = "71 17 -93 -104";

Erforderliche Leistung:

// Byte array variable, byte[] myByte 

myByte[0] = 71, 

myByte[1] = 17, 

myByte[2] = -93, 

myByte[3] = -104 

Jedoch habe ich den String-Wert in Integer-Array gespeichert haben, aber ich fühle mich schwer es in Byte-Array in speichern. -Code, die ich verwendet habe String-Wert in Integer-Array zu speichern:

 `String numbers = "71 17 -93 -104"; 
     String[] nums = numbers.split(" "); 
     for(int i=0; i< nums.length; i++) 
     { 
      System.out.println(nums[i]); 
     } 
     int StrArrLen = nums.length; 
     int[] myArray = new int[StrArrLen]; 
     for(int i=0; i< StrArrLen; i++) 
     { 
      myArray[i] = Integer.parseInt(nums[i]); 
     } 
     System.out.println("\nResult:"); 
     for(int i=0; i< StrArrLen; i++) 
     { 
      System.out.println(myArray[i]); 
     }` 

Grüße

+0

Also was genau ist das Problem? – Mureinik

Antwort

0

typisieren einfach die ganze Zahl in Byte wie folgt. Sie müssen sicherstellen, dass die Ganzzahl zwischen -128 bis 127 ist.

String numbers = "71 17 -93 -104"; 
    String[] nums = numbers.split(" "); 
    for(int i=0; i< nums.length; i++) 
    { 
     System.out.println(nums[i]); 
    } 
    int StrArrLen = nums.length; 
    byte[] myArray = new byte[StrArrLen]; 
    for(int i=0; i< StrArrLen; i++) 
    { 
     myArray[i] = (byte)Integer.parseInt(nums[i]); 

    } 
    System.out.println("\nResult:"); 
    for(int i=0; i< StrArrLen; i++) 
    { 
     System.out.println(myArray[i]); 
    } 
+0

Vielen Dank, Pravin. Es funktionierte. – Faraz

Verwandte Themen