다음 과제가 있습니다. String 객체의 문자를 바이트 배열에 쓰는 코드를 만들어야합니다.문자열을 바이트 배열로 변환하는 방법을 모르겠습니다.
먼저 String에 대해 사용자에게 물어봐야합니다. 그런 다음 te 바이트 배열을 만들어야합니다.이 배열의 첫 번째 위치에는 카운터가 있어야합니다.
배열에는 String의 각 문자의 ASCII 코드가 들어 있으며 카운터에는 String의 길이가 포함되어 있으므로 String.getBytes() 메서드를 사용해야합니다.
import java.util.Scanner;
public class ByteArray {
public static void main(String[] args)
{
int l;
String string;
Scanner read = new Scanner(System.in);
System.out.print("String: ");
string= read.nextLine();
l = string.length()+1;
byte arrayBytes[] = new byte[l];
arrayBytes = string.getBytes();
arrayBytes[0] = l;
}
}
문제는 내가 ByteArray의 문자열을 변환 할 올바르게 getBytes() 메소드를 사용하고 있는지 알고하지는과 동시에 첫 번째 위치에의 문자 수를 넣어 것입니다 배열
javadoc을 읽었습니까? –
실제 문제는 다음과 같습니다. 여러 자리 숫자를 입력하면 인덱스 0에 관심이있는 숫자는 표시되지 않습니다. 그렇지 않으면 접근 방식이 괜찮습니다 (불필요한 변수'l'을 선언하면 그냥 사라질 수 있습니다). IMO). – Makoto
길을 따라 어딘가에'System.arraycopy'가 필요하다고 생각합니다. –