Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我有每个字符时,如何定义00-90_Java - Fatal编程技术网

Java 当我有每个字符时,如何定义00-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))

我需要做的是编写一个程序,使第一个字符(即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))&
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");