我正在为我正在处理的java项目创建一个特定于方法的方法。
给定的UML指定接受参数static byte[]
(String, byte)
到目前为止,看起来像这样:
public static byte[] convertNumToDigitArray(String number, byte numDigits) {
}
此方法应该将数字(作为String)转换为字节数组。排序必须从最高位到最低位。例如,如果 number String为“732”,则数组的索引0应包含7 最后一个参数(numDigits)应该匹配的长度 字符串传入。
我该怎么做?
答案 0 :(得分:3)
可以使用charAt()
检索字符串中的每个字符。可以通过减去例如:
char c = number.charAt(0);
byte b = c - '0';
答案 1 :(得分:0)
我不会使用第二个参数,并执行以下操作:
public static byte[] convertNumToDigitArray(String number) {
if (number != null && number.matches("\\d*") {
byte[] result = new byte[number.length()];
for (int i = 0; i < number.length(); i++) {
result[i] = Byte.parseByte("" + number.charAt(i));
}
return result;
} else {
throw new IllegalArgumentException("Input must be numeric only");
}
}
答案 2 :(得分:0)
我不明白为什么我们在这里需要这么复杂的代码。
使用JDK附带的方法有什么问题
public static byte[] convertNumToDigitArray(String number, byte numDigits) {
byte[] bytes = number.getBytes();
Arrays.sort(bytes);
return bytes;
}
如果排序不符合您的意思,请删除该行。