Использование printf в параметре метода в Java - PullRequest
0 голосов
/ 08 мая 2018

У меня есть основной класс с именем CustomerTypeApp. У него есть переменная класса private static float itemPrice = 0.0f. Внутри основного метода есть следующий код:

String promptType = ("  To determine a discount for " + nf.format((float) itemPrice) + ", type in the... ...Select =>  ");
char customer = Validation.getChar(promptType);

У меня также есть класс Validation с методом getChar. Код выглядит следующим образом:

public static char getChar(String prompt){
    String input;
    char choice;
    System.out.printf("  " + prompt);
    input = sc.nextLine();
    choice = input.charAt(0);
    return choice;
}

В классе CustomerTypeApp nf.format явно ссылается на NumberFormat. Однако профессор сказал, что мы не можем использовать NumberFormat и вместо этого должны использовать printf. Метод getChar действительно использует оператор printf. Однако у меня возникают проблемы при передаче значения для printf (переменная?). Вот что я имею в виду: Я изменил свой код для CustomerTypeApp следующим образом:

String promptType = ("  To determine a discount for $%.2s, type in the... ...Select => ");

Проблема в том, что я должен передать itemPrice, где $%. 2s. Я попытался прикрепить его к концу promptType следующим образом:

("  To determine...$%.2s...Select => ", itemPrice);

Однако я получаю сообщение об ошибке ")" ожидаемый и ";" ожидается. Я также попытался добавить его в метод getChar следующим образом:

System.out.printf("  " + prompt, itemPrice);

Однако, для этого я получаю сообщение об ошибке Не могу найти символ.

Может кто-нибудь сказать мне, что я делаю не так? Спасибо!

1 Ответ

0 голосов
/ 08 мая 2018

Использование String.format("To determine...%f.2s...Select => ", itemPrice)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...