我需要做的是编写一个程序,使第一个字符(它是charAt (0 ) )和第二个字符(它是charAt(1) )变成一个不超过90 (0~ 90)的值,但我还必须将它们定义为一个独立的数字,因为如果它不是一个数字,我的程序将使它无效。
例如,如果我输入91,它将无效,如果我输入介于0到90之间的数字,它将有效
但我不知道该怎么做。
if(Character.isDigit(loop1.charAt(0))&&
Character.isDigit(loop1.charAt(1)))
我试过了,但不起作用。
if(Character.isDigit(loop1.charAt(0)) &&
Character.isDigit(loop1.charAt(1)) &&
((loop1 >= 0)&&(loop1 <= 90)))
还有这个,但是这个不起作用(我不知道我在做什么)
if(Character.isDigit(loop1.charAt(0)) &&
(((int)loop1.charAt(0)) >= 0) && <=9
Character.isDigit(loop1.charAt(1)) &&
((int)loop1.charAt(1)) <= 9)
请帮帮我。万分感谢!
发布于 2019-03-20 08:59:31
如果我没弄错的话,你想把一个字符串的前两个字符转换成一个数字,然后检查这个数字是否大于90。此外,您还希望将数字存储在不同的变量(?)中。如果是这样,下面的代码应该能做到这一点:
int digit1 = loop1.charAt(0) - '0';
int digit2 = loop1.charAt(1) - '0';
int number = digit1 * 10 + digit2;
if ( number <= 90 && number >= 0 )
System.out.println("Input is good");
else
System.out.println("Input is bad");
发布于 2019-03-20 07:31:19
假设我理解您的问题,解析loop1
并使用简单的if
检查测试值,如下所示
int t = Integer.parseInt(loop1);
if (t < 0 || t > 90) {
System.out.println("Value outside accepted range.");
} else {
System.out.println("Value valid.");
}
https://stackoverflow.com/questions/55251410
复制相似问题