public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNextLine()) {
BigInteger number = new BigInteger(input.nextLine());
int bitLength = number.bitlength();
if (bitLength <= Bytes.SIZE)
System.out.println("\u8211 byte");
if (bitLength <= Short.SIZE)
System.out.println("\u8211 short");
if (bitLength <= Int.SIZE)
System.out.println("\u8211 int");
if (bitLength <= Long.SIZE)
System.out.println("\u8211 long");
if (bitLength > Long.SIZE)
System.out.println(number + " can't be fitted anywhere.");
}
}
Nhiệm vụ: tìm một kiểu dữ liệu Sample Input phù hợp: 5tìm thích hợp Java Datatype
-150
150000
1500000000
213333333333333333333333333333333333
-100000000000000
Sample Output:
-150 can be fitted in:
short
int
long
150000 can be fitted in:
int
long
1500000000 can be fitted in:
int
long
213333333333333333333333333333333333 can't be fitted anywhere.
-100000000000000 can be fitted in:
long
Lỗi 1:
error: cannot find symbol
int bitLength = number.bitlength();
^
Lỗi 2:
symbol: method bitlength()
location: variable number of type BigInteger
Lỗi 3:
error: cannot find symbol
if (bitLength <= Int.SIZE)
^
symbol: variable Int
location: class Solution
'int number = input.nextInt(); 'không thể trở về một cái gì đó lớn hơn int – varren
Đó là' bitLength' không 'bitlength', tôi đã cố định này trong câu trả lời của tôi. –
Không đăng toàn bộ giải pháp ở đây vì nó sẽ làm cho nó quá dễ dàng cho người khác chỉ cần sao chép giải pháp của bạn. Bạn nên để đủ ở đây để giải quyết một phần của vấn đề, tức là câu hỏi ban đầu của bạn về cách đếm số bit yêu cầu. –