Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何有两个不同功能的捕获,一个是捕获无效字符串,一个是捕获价格不能是双条件字符串值?_Java_Exception_Try Catch_Java.util.scanner - Fatal编程技术网

Java 如何有两个不同功能的捕获,一个是捕获无效字符串,一个是捕获价格不能是双条件字符串值?

Java 如何有两个不同功能的捕获,一个是捕获无效字符串,一个是捕获价格不能是双条件字符串值?,java,exception,try-catch,java.util.scanner,Java,Exception,Try Catch,Java.util.scanner,我正在编写一个基本的java程序,在这个程序中,我必须给不同类型的消费者打折,但每当我尝试执行catch函数部分时,它就会出错。我不知道我将使用什么样的异常 我尝试了不同的例外情况,但似乎没有任何效果。请帮助我提供关于如何捕捉双捕捉功能的指南 捕获无效的字符串输入(如果输入不是任何给定字符串的一部分) 捕获无效的双输入(应该是数字而不是字符串) PS:我是个新手,所以对我好一点,奥内盖 try{ Scanner input = new Scanner(System.in)

我正在编写一个基本的java程序,在这个程序中,我必须给不同类型的消费者打折,但每当我尝试执行catch函数部分时,它就会出错。我不知道我将使用什么样的异常

我尝试了不同的例外情况,但似乎没有任何效果。请帮助我提供关于如何捕捉双捕捉功能的指南

  • 捕获无效的字符串输入(如果输入不是任何给定字符串的一部分)
  • 捕获无效的双输入(应该是数字而不是字符串)
  • PS:我是个新手,所以对我好一点,奥内盖

        try{
            Scanner input = new Scanner(System.in);
            String a= "AdvantageCard", b= "Regular",c= "Senior", type;
            double price, bill, discount, nfare;
        
        
            System.out.println("Type of Consumer: Regular/Advantage Card/Senior"); 
            type = input.next();
        
            System.out.println("Enter Total Price");
            price = input.nextDouble();
        
                if (type.equalsIgnoreCase(a)){
                    bill = price * .20;
                    discount = price - bill; 
                    System.out.println("Total Bill ₱" + discount);
                            
                }else if(type.equalsIgnoreCase(c)){
                    bill = price * .30;
                    discount = price - bill; 
                    System.out.println("Total Bill ₱" + discount);
            
                }else if(type.equalsIgnoreCase(b)){
                    System.out.println("Total Bill ₱" + price);
                    }
        }catch(Exception e){
            System.out.println("Invalid Consumer Type");
        }catch( e){
            System.out.println("You entered a String");}
    }
    

    为了捕获给定的异常,一些代码应该首先抛出它。在您的帖子中,您提到希望捕获两种不同的异常类型
    无效字符串
    无效双精度
    。在代码中,您将这些异常抛出到哪里?