【问题标题】:Single digit displaying after entering double digit as input in java Program在java程序中输入双位数字后显示单位数字
【发布时间】:2015-04-09 19:00:01
【问题描述】:
  1. 在下面的 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 不是质数

【问题讨论】:

  • System.in.read() 只读取一个字符。请参阅 Scanner.nextInt()
  • 顺便说一句,既然你是新人,你应该看到Tourstackoverflow.com/tour

标签: java


【解决方案1】:
num=(char)System.in.read();

您将数字转换为字符?你为什么要这样做?

由于num 是一个...数字,请执行以下操作:

int num;
num = System.in.read();

【讨论】:

    【解决方案2】:

    char 只会占用一个字符。因此 char 中的 22 将是 2,它将跳过第二个部分。试试 Integer.parseInt(System.in.read());

    【讨论】:

      【解决方案3】:

      您要将其转换为字符?尝试转换为 double (因为你想要一个 double )。 :) 否则只需将其保留为整数 Integer.parseInt(Console.readLine());

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-01
        • 2014-05-03
        • 2021-11-19
        • 1970-01-01
        • 2013-01-29
        • 2015-07-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多