从右到左读取整数,然后根据整数做一些事情?
Read integer from right to left, then do something based on the integer?
目前我有一个从十六进制转换为二进制的程序。因此,例如,如果用户在程序中输入 B1
,则输出将是 10110001
.
我要做的是让Java从右到左读取二进制数,然后输出这个数是1还是0。例如,如果它是 1,程序会说 "this is a one",如果它是 0,程序会说 "this is a zero".
这可能看起来毫无意义,但我将使用它来编写雀科机器人的运动代码,即如果它的零移动持续 3 秒,如果它的移动持续 6 秒。
谢谢!
为什么不简单地遍历数字? (正如 Jon Skeet 所建议的那样)
//not sure what type your input is, in any case, convert it to a string (or byte array)
String str = "10110001";
for(int i = str.length()-1; i >= 0; i--){
if(str.charAt(i) == '1')
System.out.println("one");
if(str.charAt(i) == '0')
System.out.println("zero");
}
目前我有一个从十六进制转换为二进制的程序。因此,例如,如果用户在程序中输入 B1
,则输出将是 10110001
.
我要做的是让Java从右到左读取二进制数,然后输出这个数是1还是0。例如,如果它是 1,程序会说 "this is a one",如果它是 0,程序会说 "this is a zero".
这可能看起来毫无意义,但我将使用它来编写雀科机器人的运动代码,即如果它的零移动持续 3 秒,如果它的移动持续 6 秒。 谢谢!
为什么不简单地遍历数字? (正如 Jon Skeet 所建议的那样)
//not sure what type your input is, in any case, convert it to a string (or byte array)
String str = "10110001";
for(int i = str.length()-1; i >= 0; i--){
if(str.charAt(i) == '1')
System.out.println("one");
if(str.charAt(i) == '0')
System.out.println("zero");
}