Корпус переключателя не вводится в JAVA - PullRequest
0 голосов
/ 07 мая 2020
• 1000 новый ie. Но, к сожалению, когда я его запускаю, он сразу пропадает после l oop. Вот мой код:
import java.util.Scanner;

public class Game {


    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();
        int nums = Integer.parseInt(input);
        int firstNum, secondNum, thirdNum, sumNums, sumNums2 = 0;

        firstNum = Character.getNumericValue(input.charAt(0));
        secondNum = Character.getNumericValue(input.charAt(1));
        thirdNum = Character.getNumericValue(input.charAt(2));

        switch (nums) {
            case 1:
                sumNums = firstNum + secondNum + thirdNum;
                sumNums2 = sumNums;
            case 2:
                sumNums = firstNum + secondNum * thirdNum;
                if (sumNums > sumNums2) {
                    sumNums2 = sumNums;
                }
            case 3:
                sumNums = firstNum * secondNum + thirdNum;
                if (sumNums > sumNums2) {
                    sumNums2 = sumNums;
                }
            case 4:
                sumNums = firstNum * thirdNum + secondNum;
                if (sumNums > sumNums2) {
                    sumNums2 = sumNums;
                }
            case 5:
                sumNums = firstNum * secondNum * thirdNum;
                if (sumNums > sumNums2) {
                    sumNums2 = sumNums;
                    break;
                }
        }
        System.out.println(sumNums2);
    }
}

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Код выглядит странно:

switch (nums) {  // 111, 257  wrong input, no match

// suggest to add default, so you can debug the problem
}
0 голосов
/ 07 мая 2020

Проблема в том, что вы включаете переменную nums, которая ожидает числа 3 di git. Любое введенное число 3 di git не будет соответствовать ни одному из ваших одиночных операторов case di git, поэтому оно полностью выпадает из переключателя.

Похоже, что вы хотите, чтобы пользователь сначала ввел певец di git номер от 1 до 5, представляющий операцию для соответствия одному из случаев - вы никогда этого не сделаете.

Кроме того, вы должны сначала распечатать с помощью оператора System.out.println(), какой ввод вы запрашиваете, прежде чем сканировать ввод.

...