相关疑难解决方法(0)

如果输入错误的类型,如何防止扫描程序抛出异常?

这是一些示例代码:

import java.util.Scanner;
class In
{
    public static void main (String[]arg) 
    {
    Scanner in = new Scanner (System.in) ;
    System.out.println ("how many are invading?") ;
    int a = in.nextInt() ; 
    System.out.println (a) ; 
    } 
}
Run Code Online (Sandbox Code Playgroud)

如果我运行该程序并给它一个int喜欢4,那么一切都很顺利.

另一方面,如果我回答too many它并不嘲笑我有趣的笑话.相反,我得到了这个(如预期的那样):

Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:819)
    at java.util.Scanner.next(Scanner.java:1431)
    at java.util.Scanner.nextInt(Scanner.java:2040)
    at java.util.Scanner.nextInt(Scanner.java:2000)
    at In.main(In.java:9)
Run Code Online (Sandbox Code Playgroud)

有没有办法让它忽略不是整数的条目或重新提示"有多少是入侵?" 我想知道如何做到这两点.

java text-parsing java.util.scanner

13
推荐指数
1
解决办法
3万
查看次数

如何验证输入的文本是否为数字?

我有一个计算应用程序,我需要验证字段,以检查输入的值是否是数字而不是字母数字.我对这些代码有一些想法.
如果我做错了什么或看起来像菜鸟,请指导我,因为这是我第一次尝试Swing.

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
    String text1 = jTextField1.getText();            // TODO add your handling code here:
}

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
    String text2 = jTextField2.getText();        // TODO add your handling code here:
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    if (text1 and text2 != <numeric number>){
        JOptionPane.showConfirmDialog(null, "Please enter numbers only", "naughty", JOptionPane.CANCEL_OPTION);
    }
    // First we define float variables.
    float num1, num2, result;
    // We have to parse the text to a type float.
    num1 = Float.parseFloat(jTextField1.getText()); …
Run Code Online (Sandbox Code Playgroud)

java validation swing programming-languages joptionpane

2
推荐指数
1
解决办法
6万
查看次数