我有一个像
这样的字符串01 01 01 02 01 01 20 00 40 0b 00 01 ef cc 45 4e 47 00 1a 02
我如何阅读此内容作为输入?我知道宣布
String s = "01 01 01 02 01 01 20 00 40 0b 00 01 ef cc 45 4e 47 00 1a 02"
显然会给我带来错误,那么有什么不同的方法可以使用Java读取这个输入(作为参数传递)?
答案 0 :(得分:5)
我假设你想用十六进制数据读取它,而不是字符串。
首先删除字符串中的空格,使它看起来像" 0101010201012000400b0001efcc454e47001a02"
然后,创建一个BigInteger来保存它:
BigInteger hex = new BigInteger(s, 16);
现在你应该将十六进制值存储在变量hex。
中答案 1 :(得分:2)
如果你将它们作为变量参数传递,那么你可以这样得到它:
public static void main(String[] args) {
if(args.length() > 0) {
String myInput = args[0]; //Here is where you get them...
//Process myInput
}
}
答案 2 :(得分:2)
这是你的神秘号码
import java.math.BigInteger;
class Main {
public static void main(String[] args) {
System.out.println(new BigInteger("01 01 01 02 01 01 20 00 40 0b 00 01 ef cc 45 4e 47 00 1a 02".replaceAll("\\s+", ""), 16));
}
}
这是
5731379310208105099069359549013101637718252034
上的实时演示
答案 3 :(得分:0)
String s = "01 01 01 02 01 01 20 00 40 0b 00 01 ef cc 45 4e 47 00 1a 02";
应该有用......