Java 在不使用异常的情况下执行整数检查

Java 在不使用异常的情况下执行整数检查,java,event-handling,isnumeric,Java,Event Handling,Isnumeric,我使用Java的时间很短,所以请耐心等待。我正在编写一个java类入门的程序,我必须创建一个简单的计算器(没有GUI)而不使用异常,但仍然可以捕获输入错误。我能够毫无问题地完成异常处理程序,但这一次让我发疯了!!我需要一个替代语句“if(a==char | | b==char)”的选项,以下是我到目前为止得到的: import java.util.*; public class calculator_No_Event { public static void main(String[] ar

我使用Java的时间很短,所以请耐心等待。我正在编写一个java类入门的程序,我必须创建一个简单的计算器(没有GUI)而不使用异常,但仍然可以捕获输入错误。我能够毫无问题地完成异常处理程序,但这一次让我发疯了!!我需要一个替代语句“if(a==char | | b==char)”的选项,以下是我到目前为止得到的:

import java.util.*;

public class calculator_No_Event {

public static void main(String[] args) 
{
    // TODO Auto-generated method stub
    int a,b,c;
    char d;
    boolean e;
    Scanner input=new Scanner(System.in);

    try
    {   
        System.out.print(" Enter the first number: ");
        a=input.nextInt();
        System.out.print("Enter the second number: ");
        b=input.nextInt();
        System.out.print("Enter + or - :");
        String f=input.next();
        d=f.charAt(0);


        if (a==char || b==char)
        {
            System.out.println("Error");
        }   
        else
        {
            switch(d)
            {
                case '+':
                    c =a+b;
                    System.out.print(a + "+" + b + "=" + c);
                    break;
                case '-':
                    c =a-b;
                    System.out.print(a + "-" + b + "=" + c);
                    break;
            }
        }
}
    finally
    {
        System.out.println("Thank you.");
    }
}

}你应该在打电话之前先打电话。和也是一样。

你对这一行有很多误解

if (a = char || b = char)
  • 我假设您的意思是使用运算符,而不是运算符
    ==而不是=

  • a
    b
    (和
    c
    )是
    int
    s,如
    main
    中所述。所以我们知道它们永远不会是char,除非你把它们转换成char,但是它们永远都是char
    int
    char
    是不同的类型,而
    1
    字符可以是任意一种类型,因此尝试按原样执行是行不通的

  • google搜索Checkif string is number returns,不过,在本例中,您可能希望使用这种方法。无论何时使用一个新的Java类(如),学习如何查看这些类都是非常有价值的,并且可以更好地理解和了解所使用的类


  • 你的代码甚至没有编译;事先努力至少使其可编译。通过这项工作并阅读适当的文档,您将在这一过程中学到很多东西。当然,它不会编译,这就是问题所在。我的问题在于语句“if(a=char | | b=char)”这个语句不起作用。程序在没有if语句的情况下编译良好。我要找的是这句话的另一种说法。如果我的问题不清楚,请道歉。因此,如果用户输入一个字母而不是一个数字,这将捕获它?我已链接到多个解决方案-我不确定您指的是哪一个。但是,是的,在您阅读了这些方法并了解了如何实现它们之后,它们中的任何一个都可能是一个可能的解决方案。