Java 当我有每个字符时,如何定义00-90
我需要做的是编写一个程序,使第一个字符(即charAt(0))和第二个字符(即charAt(1))成为一个不超过90的值,即(0~90),但我还必须将它们定义为一个独立的数字,因为如果它不是一个数字,我的程序将使它无效 例如,如果我输入91,它将变得无效 如果我输入的数字在0到90之间,它将有效 但是我不知道怎么做Java 当我有每个字符时,如何定义00-90,java,Java,我需要做的是编写一个程序,使第一个字符(即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)))
我已经试过了,但不起作用
if(Character.isDigit(loop1.charAt(0)) &&
Character.isDigit(loop1.charAt(1)) &&
((loop1 >= 0)&&(loop1 <= 90)))
if(Character.isDigit(loop1.charAt(0))&
Character.isDigit(loop1.charAt(1))&
((loop1>=0)和&(loop1假设我理解您的问题,解析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.");
}
intt=Integer.parseInt(loop1);
如果(t<0 | | t>90){
System.out.println(“超出可接受范围的值”);
}否则{
System.out.println(“值有效”);
}
如果我没有弄错,您需要将字符串的前两个字符转换为一个数字,并检查该数字是否大于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");
int-digit1=loop1.charAt(0)-'0';
int digit2=loop1.charAt(1)-'0';
整数=数字1*10+2;
如果(数字=0)
System.out.println(“输入良好”);
其他的
System.out.println(“输入错误”);
我不明白这个问题。你能重新措辞吗?将字符转换为int不会将其转换为所需的数字。“1”不等于1。你可以直接比较字符值:例如:x.charAt(0)我已经编辑了我的问题…对不起,我不太擅长解释…嗨,你的回答对我有帮助!!!但是我不理解这个循环1.字符(0)-“0”的含义是什么-“@ShangHuang在java中一个字符也可以表示为整数(它是ascii值)因此,loop1.charAt(0)-“0”
所做的是取第一个字符的ascii值,然后从中减去字符“0”的ascii值,从而留下数字本身。
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");