我有作业来检查数字是一个两位数还是一位数而不使用if语句。谢谢你的帮助!
public class SchoolTest {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int x;
System.out.println("Please enter a number");
x = reader.nextInt();
if ((x > 9 && x < 100) || (x < -9 && x > -100)) {
System.out.println(true);
main(args);
} else {
System.out.println(false);
main(args);
}
}
}
答案 0 :(得分:10)
只需将值设置为条件:
boolean isDoubleDigit = (x > 9 && x < 100) || (x < -9 && x > -100);
System.out.println( isDoubleDigit );
答案 1 :(得分:2)
public class Digits {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int check = scan.nextInt();
//False for single digit, true for double digit
boolean isDoubleDigit = (check / 10 == 0 && check / 100 == 0) ? false : true;
System.out.println(isDoubleDigit);
}
}
三元运算符在您的情况下非常有用
答案 2 :(得分:1)
如果已知该数字为非负数:
int digits = Integer.toString(theIntValue).trim().length();
(可能不需要trim()
。)
如果可能是否定的:
int digits = Integer.toString(Math.abs(theIntValue)).trim().length();
如果必须返回布尔值:
boolean isTwoDigit = Integer.toString(Math.abs(theIntValue)).trim().length() == 2;
答案 3 :(得分:0)
您可以将数字读取为String而不是int,并使用Regex
答案 4 :(得分:-2)
本应写完没有主(args)