首页 > 解决方案 > 线程“主”方法调用 Java 中的异常

问题描述

我对 Java 很陌生,如果我的问题太简单,我很抱歉,但由于我找不到 switch 语句从未执行的原因,我仍然被阻止。这是代码:

static void findSpot(String[][] parking) {
    boolean control = false, repeat;


    System.out.println("Insert o Floor : Spot");
    Scanner s = new Scanner(System.in);
    String[] floorSpot = s.nextLine().split(":");

    int floor, spot;
    floor = Integer.parseInt(floorSpot[0]);
    spot = Integer.parseInt(floorSpot[1]);

    if (floor >= parking.length) {
        System.out.println("Invalid floor number!");
    }


    System.out.println("Insert registry: 00-00-AA  00-AA-00");
    String registry = s.nextLine();
    repeat = validateRegistry(registry);

    if (!repeat) {
        System.out.println("Invalide format.");
    }
}

标签: java

解决方案


抱歉,堆栈溢出的定义不允许我在这里发布整个代码,并简要解释错误:

import java.util.ArrayList;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static java.lang.System.out;



public class ex17 {

    public static Scanner in = new Scanner(System.in);

    public static void main(String[] args) {

       int x=args.length;// 
       String[][] parking=new String[x][];

        setPositions(parking,args);

        boolean exit = false;
  while (!exit) {
            char choice;

            out.println("\nE- Entrance vehicle");
            out.println("T- Terminate");
            out.print("Option ->  ");
           choice = in.next().toLowerCase().charAt(0);

            switch (choice) {
                case 'e':
                    findSpot(parking);
                    break;
                    case 't':
                    exit=quitProgram();
                    break;
                default:
                    out.println(Invalid\n".toUpperCase());
                    break;


            }
static void findSpot(String[][] parking) {
    boolean control = false, repeat;


    System.out.println("Insert o Floor : Spot");
    Scanner s = new Scanner(System.in);
    String[] floorSpot = s.nextLine().split(":");

    int floor, spot;
    floor = Integer.parseInt(floorSpot[0]);
    spot = Integer.parseInt(floorSpot[1]);

    if (floor >= parking.length) {
        System.out.println("Invalid floor number!");
    }


    System.out.println("Insert registry: 00-00-AA  00-AA-00");
    String registry = s.nextLine();
    repeat = validateRegistry(registry);

    if (!repeat) {
        System.out.println("Invalide format.");
    }
}

推荐阅读