(java)如何测试输入值是否为int类型?

时间:2014-07-23 19:41:25

标签: java input

我的问题是我要求用户输入一个正整数值。我确保他们不能输入负整数或零,但我不知道如何确保他们不能输入小数。

package java1;

public class Problem3NPlus1 {

    public static void main(String[] args) {

        int givenInt;
        int givenIntMod;

        System.out.println("Provide a positive integer: ");
        givenInt = TextIO.getlnInt();

        while (givenInt <= 0 || *IF GIVENINT IS A DECIMAL? ) {
            System.out.println("That is not a positive integer, try again: ");
            givenInt = TextIO.getlnInt();
        }

        if (givenInt > 0) {
            while (givenInt != 1) {
                if (givenInt % 2 == 0) {
                    givenIntMod = (givenInt / 2);
                }
                else {
                    givenIntMod = ((givenInt * 3) + 1);
                }

                System.out.println(givenIntMod);
                givenInt = givenIntMod;
            }

        }
    }
}

2 个答案:

答案 0 :(得分:3)

TextIO.getlnInt()返回一个int值时,返回的任何内容都是int,而int不能有小数。您想查看TextIO.getlnInt()方法。你能告诉我们这是如何起作用的吗?

答案 1 :(得分:3)

TextIO.getlnInt()是一个只能返回一个整数的函数,即使用户输入一个double。此外,由于您将其输出分配给声明为int的变量,如果编译器甚至可能返回除整数之外的其他内容,则会抛出错误。