Java с использованием HashMap с оператором переключенияJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java с использованием HashMap с оператором переключения

Сообщение Anonymous »

У меня есть класс констант, в котором я сохранил HashMap констант, например:

Код: Выделить всё

import java.util.HashMap;
import java.util.Map;

/**
* Constantes de uso general en el programa.
*/
public final class Consts {

// Opciones del menu de juego.
public static final Map GAMETYPE;
static
{
GAMETYPE = new HashMap();
GAMETYPE.put(1, "MANUAL");
GAMETYPE.put(2, "AUTOMATIC");
GAMETYPE.put(3, "EXIT");
}

/**
*
* @param userType
* @return
*/
public static String valueOf(int userType) {
return GAMETYPE.get(userType);
}
/**
* Impide construir objetos de esta clase.
*/
private Consts(){
// Tampoco permite a la clase nativa llamar al constructor.
throw new AssertionError();
}
}
Я хочу использовать эти константы в операторе переключения регистра в другом классе, например:

Код: Выделить всё

userType = sc.nextInt();
switch(Consts.valueOf(userType)) {
case MANUAL:
System.out.println(">> You have selected the manual mode");
break;
case AUTO:
System.out.println(">> You have selected the manual mode");
break;
case EXIT:
System.out.println(">> Good-bye");
break;
По-прежнему программа не находит РУЧНОЙ, АВТО или ВЫХОД. Есть идеи?

PS: я не хочу использовать Enums (именно так у меня сейчас структурированы константы, но я думаю, что факт наличия множества классов для констант затрудняет выполнение кода), и я не хочу, чтобы константы объявлялись одна за другой, например:

Код: Выделить всё

public static final int MANUAL = 1;
public static final int AUTO = 2;
public static final int EXIT = 3;
поскольку я хочу, чтобы константы были структурированы в классе констант. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/287 ... -statement
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»