Không thể nghĩ ra một tiêu đề tốt hơn. Vấn đề là: Tôi có "int i", nó có thể là bất kỳ giá trị nào. mục tiêu của tôi là chuyển đổi "int i" thành số gần nhất có thể chia hết cho . Ví dụ: Tôi có i = 33. Sau đó, tôi sẽ được chuyển đến (16x2). Nhưng nếu tôi nhận được i = 50, thì nó sẽ được chuyển thành (16x3).Java - Cách kiểm tra xem một bộ phận có phải là một số nguyên hay một phao không?
tôi đã cố gắng rất nhiều điều ví dụ:
for (int x = i; x < 999; x++){
if ((i - x)/16 *is an integer*){
i = i - x;
}
Nhưng tôi không biết làm thế nào để kiểm tra xem nó một số nguyên. Vì vậy, có lẽ mã trước đây của tôi làm việc, nhưng tôi chỉ cần tìm một cách để kiểm tra nếu một số nguyên của nó hoặc một phao. Vì vậy .. bất kỳ trợ giúp được đánh giá cao.
Phân chia hai int sẽ luôn có kết quả int. Bạn có thể sử dụng modulus ('%') để thay thế. – GriffeyDog
FWIW, tôi khuyên bạn nên thử một cách tiếp cận khác để giải quyết vấn đề này. Cách tiếp cận này của vòng lặp để tìm một số bạn có thể trừ từ i để có được bội số của 16 là khủng khiếp không hiệu quả. Và nếu đa số gần nhất của 16 lớn hơn tôi thì sao? – Alex