这是一个程序,用于检查输入是否为2的幂.这个程序运行正常,输入最多8位数但是当我输入10 18这样的输入时,它不起作用,我该怎么办?
import java.util.Scanner;
public class search {
public static void main(String [] args){
//to take how many inputs are there
Scanner sc = new Scanner(System.in);
int k ;
k = sc.nextInt();
for(int i = 0 ;i<k;i++){
// input number n
long n ;
n = sc.nextInt();
if ((n > 0) && ((n & (n - 1)) == 0)){
System.out.println("YES");
}
else{
System.out.println("NO");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)