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



我使用Java的时间很短,所以请耐心等待。我正在为Java类的INTRODUCTION编写一个程序,我必须在不使用异常的情况下创建一个简单的计算器(没有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.");
    }
}

}

您应该先调用Scanner.hasNextInt(),然后再调用Scanner.nextInt()。与CCD_ 3和CCD_。

您对这一行有很多误解

if (a = char || b = char)
  1. 我想你的意思是使用equal to运算符,而不是assignment运算符== instead of =

  2. abc)是ints,如main中所声明的。所以我们知道它们永远不会是chars,除非你把它们转换成字符——但它们永远都是字符。intchar是不同的类型,1字符可以是任意一种类型,所以按原样操作是行不通的。

  3. 在谷歌上搜索,检查字符串是否为数字,返回确定Java中的字符串是否为整数。然而,在这种情况下,@ElliotRisch的答案可能是您想要使用的方法。每当您使用新的Java类(如Scanner)时,学习查看文档是非常有价值的,可以更好地理解和了解您正在使用的类。

相关内容

  • 没有找到相关文章

最新更新