我在Java中创建了一个小小的回文测验。
我应该在某个时候检查用户是否会输入多于或少于三位数的数字,例如" 1011"或" 10"并显示错误信息,例如"输入错误。"但是,我无法在Java中使用int.length()
检查数字的长度,因为我可以使用字符串(String.length()
)。
我怎么能解决这个问题?
这是我没有if-three-digit检查的代码
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println("Please enter a three digit number number and I will check if it's a palindrome.");
// create scanner and input number
Scanner input = new Scanner(System.in);
int number = input.nextInt();
int digit1 = (int)(number / 100);
int remaining = number % 100;
int digit3 = (int)(remaining % 10);
System.out.println(number + ((digit1 == digit3) ? " is a palindrome" : " is not a palindrome"));
}
}
答案 0 :(得分:1)
您可以将int转换为String并使用长度函数。
Integer.toString(yourNumber).length()
答案 1 :(得分:1)
获得输入后添加if
条件:
if (number >= 100 && number < 1000) {
//Proceed with your logic
} else {
//Throw you message as invalid number
}
答案 2 :(得分:1)
要检查数字是否具有某些属性,最好使用数值运算(如果可能)。这通常会导致更快,更直接的代码。
三位数的最小数字是100.三位数的最大数字是999.所以你可以测试如下:
if ((number < 100) && (number > 999)) {
System.out.println("Not a three-digit number :(")
}