在下面的java代码中,如果我输入两位数作为输入,那么我输入的值是单个数字。我认为问题在于i& num变量是diff数据类型。 2.如果我将num作为int,则输入的值将转换为不同的值。 就像我进入20&它花了50。 请帮忙。
class primenumber {
public static void main(String args[])
throws java.io.IOException{
System.out.println("enter the number to test for prime number");
char num;
num=(char)System.in.read();
System.out.println("number entered is "+num);
boolean tarun =true;
for(int i=2;i<=num/i;i++){
if(num%i==0){
tarun=false;
break;
}
}
if(tarun)
System.out.println(num +" prime number");
else
System.out.println(num +" is not prime number ");
}
}
`的输出: - 输入要测试素数的数字 22 输入的数字是2 2不是素数
答案 0 :(得分:0)
num=(char)System.in.read();
您正在将号码转换为角色?你为什么要这样做?
由于num
是...号码,请执行以下操作:
int num;
num = System.in.read();
答案 1 :(得分:0)
char只会占用一个字符。因此char中的22将是2,它将跳过第二部分。尝试Integer.parseInt(System.in.read());
答案 2 :(得分:0)
你把它投射到一个炭?尝试强制转换为双精度(因为你想要一个双精度)。 :)否则只需将其保留为Integer.parseInt的整数(Console.readLine());