我的问题是我要求用户输入一个正整数值。我确保他们不能输入负整数或零,但我不知道如何确保他们不能输入小数。
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;
}
}
}
}
答案 0 :(得分:3)
当TextIO.getlnInt()
返回一个int值时,返回的任何内容都是int,而int不能有小数。您想查看TextIO.getlnInt()
方法。你能告诉我们这是如何起作用的吗?
答案 1 :(得分:3)
TextIO.getlnInt()
是一个只能返回一个整数的函数,即使用户输入一个double。此外,由于您将其输出分配给声明为int
的变量,如果编译器甚至可能返回除整数之外的其他内容,则会抛出错误。