2015-03-16 4 views
0
public void loadTill() throws IOException { 
    Scanner infile = new Scanner(new FileReader(SHOP_TILL_DATA_FILE)); 


    int tillSize = infile.nextInt(); 
    for (int i = 0;i<tillSize*2;i++){ 


    UKDenomination ct =infile.next(); 
    int nc = infile.nextInt(); 

    DenominationFloat m = new DenominationFloat(ct, nc); 

    till.addFloat(m); 
    } 

} 

Я хотел карат быть типом UKDenomination, я новичок в Java и не совсем получил представление о нем ....Java - Использование сканера для чтения в определенном типе

ПРИМЕЧАНИЯ : UKDENOMINATION является Enum

Существует несколько методов, где UKdenomination объявлен как показано ниже 1)

public static UKDenomination fromString(String strValue) 

2)

private UKDenomination(int v) { 
     value = v; 
    } 

3)

public enum UKDenomination { 
+1

Можете ли вы показать нам, как выглядят лица и как объявляется UKDenomination? – Zlopez

+0

следующий вернет строку; если UKDenomination имеет конструктор типа 'UKDenomination (String)', вы можете сделать что-то вроде 'UKDenomination ct = new UKDenomination (infile.next());' (предполагая, что infile является объектом Scanner) –

+0

@zlopez обновлено, извините за три версии ... – Unfitacorn

ответ

1

Вы должны создать экземпляр объекта, а затем заполнить его с помощью метода, попробуйте следующее:

UKDenomination ct = new UKDenomination(); 
ct = ct.fromString(infile.next()); 

EDIT:

Если это Enum, поэтому вы не можете сохранить ввод как новый тип этого перечисления, потому что, ссылаясь на Oracle Enum Docs, существует только одна константа rugram, и мы не можем его использовать (используется только компилятором):

protected Enum(String name, int ordinal)

Sole constructor. Programmers cannot invoke this constructor. It is for use by code emitted by the compiler in response to enum type declarations. Parameters:

name - - The name of this enum constant, which is the identifier used to declare it.

ordinal - - The ordinal of this enumeration constant (its position in the enum declaration, where the initial constant is assigned an ordinal of zero).

+0

Я получаю эту ошибку: Исключение из thread "main" java.lang.Error: Неразрешенная проблема компиляции: \t Невозможно создать экземпляр типа UKDenomination – Unfitacorn

+0

У вас есть конструктор UKDenomination() без параметров? если нет, выполните его, –

+0

Конструктор номер 2 выше, не так ли ??? : S – Unfitacorn

Смежные вопросы