| read < 0).

问题描述 投票:0回答:2
package com.company;
import java.util.*;
import java.lang.*;

public class Main {

    public static void main (String[] args) {

        System.out.println("Enter Any one number from following list to carry out Equation  ");
        System.out.println("1.Add ");
        System.out.println("2.Subtract ");
        System.out.println("3.Divide ");
        System.out.println("4.Multiply ");
        Scanner in=new Scanner(System.in);
        int read=in.nextInt();

        System.out.println("Enter 2 number for Equation ");
        double a=in.nextDouble();
        double b=in.nextDouble();
        double r;
        switch (read) {
            case 1 -> r = a + b;
            case 2 -> r = a - b;
            case 3 -> r = a / b;
            case 4 -> r = a * b;
            default -> {
                System.out.println("Error! Select from 1 to 4 ");
                return;
            }
        }
        System.out.println("Result of Equation is:  "+r);
    }

        }

如果我选择任何大于4的数字,switch case不退出,并要求用户输入2个数字,输入数字后switch case退出。

java input switch-statement
2个回答
0
投票

如果你期望跳过输入,那么你的执行顺序是错误的。ab试着添加一个条件if块

double a;
double b;
if( 0 < r && r < 5) {
  a = in.nextDouble();
  b = in.nextDouble();
}

0
投票

在用户输入之前启动int read = 5。用一个while循环和条件(read>4)包围扫描仪的部分。

© www.soinside.com 2019 - 2024. All rights reserved.