假设我有一个扫描对象接收两个输入
Scanner console = new Scanner(System.in);
int number1 = console.nextInt();
int number2 = console.nextInt();
我用一个!=/来验证数字2的输入一些数字
但是对于1号输入,我想通过不是int类型的方式进行验证。我该怎么做呢?比如像number1!=//输入int
您可以使用try/catch语句:
int number1;
try {
number1 = console.nextInt();
} catch(InputMismatchException ime) {
...
}
扫描仪实际上不处理类型化的值。它们得到一大堆字节,将它们转换成字符串,然后将它们解析成你想要的任何东西。
要检查类型,您可以使用console.next()
获取下一个令牌,然后通过循环检查它是否是整数,并检查每个字符是否为0-9
。
从技术上讲,您需要确保它不是
这是我程序的主要方法。当调用nextLine()函数时,扫描器解析变量L而不是space时,我遇到了一个问题。不过,nextInt()可以按照预期工作。我的程序在试图用integer.parseint()函数解析空字符串时崩溃了。 第一个输入是指定将要进行的行数的整数,下面的输入是空格分隔的整数。 堆栈跟踪如下:
我需要用户输入介于1和301之间的int。我在这里有一个简单的循环来检查用户输入。我只需要用户输入一个数字,如果用户输入的不是介于1和301之间的int,我想显示打印行并提示用户重试,直到他们输入有效的输入。 这会检查输入是否为int,但我似乎找不到给int输入一个界限的方法。我试图将用户输入分配给一个变量,然后检查条件输入 也许有更好的设计来实现这一切。这些也受到欢迎。 提前谢谢。
我有三节课: 人类 父亲 孩子。 儿童阶级延伸父亲,父亲延伸人类。 我已经创建了每个类的一些实例并将它们存储到ArrayList中。 现在,我想编写一个方法来检查对象father1是否与对象child1地址字段(类Father和Child的实例)具有相同的字段地址(例如:“21 str Goodwin”),并将此方法提供给我的ArrayList,如果发现任何结果,则打印。 我怎么能这样呢? 为了更
输出为:输入主题名称和描述主题:A描述:您输入的主题名称为:A您输入的描述为:
问题内容: 我基本上希望下面的while循环检查输入是否为整数。它不能包含小数,因为它指向一个数组。如果输入的值为十进制,则应再次提示用户。问题是在使用此代码开始while循环之前,我得到两个提示。有任何想法吗? 谢谢 编辑:当前输出给出以下内容: 请注意,即使这是一个有效值,我也必须两次输入两次。 问题答案: 对您的程序进行小的修改即可解决问题 输出: 希望对您有帮助。
背景:我对编码非常陌生。我正在写一个基于文本的单人RPG作为学习方法。 所以,我有一个ArrayList,我用它来存储项目类的对象。我想根据扫描仪的用户输入检查ArrayList是否存在项目(项目类中的对象)。 如果可能的话,我认为如果我将一个项目传递给开关(基于用户输入),而不是一个字符串,而我后来必须“翻译”ArrayList才能使用它,那会更干净。 可能吗?或者我必须按照我在下面代码中写出来