преобразовать ввод в UpperCase - PullRequest
0 голосов
/ 28 июня 2010

Хорошо, я работаю над простым кодом оператора, и он работает нормально, если ввод совпадает, то есть в верхнем регистре. Я нашел его в. UpperCase, и он выглядит достаточно просто, но все еще без игры в кости. мой код:

public static void main(String[] args) {
//public static char toUpperCase(char LG) // If I put this in, it gives me 'illegal start of expression'

char LG;  // Reads a value of type char.
char UC;  // Uppercase value of LG

TextIO.putln("Enter the letter grade do you want converted to point value?");
TextIO.putln();
TextIO.putln("A, B, C, D, or F");

LG = TextIO.getlnChar();
UC = LG.toUpperCase(); //this errors out 'char cannot be dereferenced'

switch ( LG ) {
case 'A':

Спасибо за направление.

Ответы [ 2 ]

2 голосов
/ 28 июня 2010

Метод toUpperCase относится к (как минимум) классам String или Character , его нельзя выполнить для примитива char типа, Попробуйте:

LG = Character.toUpperCase(LG);

См. здесь для подробностей. Обратите особое внимание на недостатки в отношении полной поддержки Unicode. Возможно, вам лучше использовать строки вместо этого, хотя с этим примером кода у вас все будет в порядке, поскольку вы разрешаете только A, B, C, D и F. Кстати, что случилось с E? 1020 *

И, как правильно заметил Бен в своем ответе, вам следует включить переменную, содержащую символ в верхнем регистре, а не оригинал. В моей строке выше это все еще LG, так как я не вижу особых причин для сохранения оригинала.

0 голосов
/ 28 июня 2010

измените свой оператор switch, чтобы использовать UC вместо LG

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