为什么来自控制台的用户输入没有被第二次读取和存储?
Why user inputs from consol are not getting read and stored the second time?
你好 Whosebug 社区的好人,目前我遇到了一个问题,我需要你 advice/help。
我编写了一段代码,它将接受用户输入的测试用例,对于每个测试用例,我的程序将执行并提供结果。
此外,对于每个测试用例,我也从用户那里获取一些其他值
前任
Code
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
while(T-->0){
long K = sc.nextLong();
if (K >= 2 && K <= (10 ^ 12)) {
int d0 = sc.nextInt();
int d1 = sc.nextInt();
//some additional code
}
}
所有变量,即 K
、 d0
、 d1
都是第一次输入,但第二次是 d0
和 d1
没有取任何值,而是将值存储在变量 K
(对于 T > 1)中,我不确定为什么?!
for ex - T = 3
的值
当T = 3
时K
,d0
,d1
的对应值为5 3 0
T = 2
是 17 6 7
这里 d0
和 d1
的值没有被存储,而是被存储在 K
中,这样 K = 17
然后 K = 6
和循环结束(因为 T = 0 )
提前致谢!
10 ^ 12
不是您期望的那样。
^
是 bitwise-xor 运算符。
运算符将逻辑上比较 10
和 12
的每一位,如果两个输入位中恰好有一个为 1(并且所以另一个是0)。
10
在二进制中是 0b1010
12
在二进制中是 0b1100
因此 10
xor 12
是 0b0110
也就是十进制的 6
为了计算 10 的 12 次方使用 Math.pow(10,12)
你好 Whosebug 社区的好人,目前我遇到了一个问题,我需要你 advice/help。 我编写了一段代码,它将接受用户输入的测试用例,对于每个测试用例,我的程序将执行并提供结果。
此外,对于每个测试用例,我也从用户那里获取一些其他值
前任
Code
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
while(T-->0){
long K = sc.nextLong();
if (K >= 2 && K <= (10 ^ 12)) {
int d0 = sc.nextInt();
int d1 = sc.nextInt();
//some additional code
}
}
所有变量,即 K
、 d0
、 d1
都是第一次输入,但第二次是 d0
和 d1
没有取任何值,而是将值存储在变量 K
(对于 T > 1)中,我不确定为什么?!
for ex - T = 3
当T = 3
时K
,d0
,d1
的对应值为5 3 0
T = 2
是 17 6 7
这里 d0
和 d1
的值没有被存储,而是被存储在 K
中,这样 K = 17
然后 K = 6
和循环结束(因为 T = 0 )
提前致谢!
10 ^ 12
不是您期望的那样。
^
是 bitwise-xor 运算符。
运算符将逻辑上比较 10
和 12
的每一位,如果两个输入位中恰好有一个为 1(并且所以另一个是0)。
10
在二进制中是 0b1010
12
在二进制中是 0b1100
因此 10
xor 12
是 0b0110
也就是十进制的 6
为了计算 10 的 12 次方使用 Math.pow(10,12)