2017-02-03 7 views
-1

Я должен использовать сканер в Java для получения 14-символьного ввода и иметь весь вывод символов в верхнем регистре. Я попытался ввести код, найденный через Google, например, «str.toUpperCase (Locale.ENGLISH)», но он говорит, что str не может быть разрешен и что локаль не может быть разрешена. Когда я сделал поиск здесь, я получил результаты для верхнего каскада определенного символа или счетного символа. Мне просто нужно, чтобы конкретная строка ввода была в верхнем регистре.Верхний ввод строки из сканера в java

Следующее, что у меня есть на данный момент. Я использую eclipse java neon

import java.util.Scanner; 

public class MemberIDLotz { 
    // Everette Lotz 
    public static void main(String[] args) { 
     Scanner string = new Scanner(System.in); 

     // We're going to get a 14 char string from a user. 
     System.out.println("Please enter in a 14 character long ID"); 
     String name = string.next(); 
     str.toUpperCase(Locale.ENGLISH); 

     string.close(); 
    } 
} 

Благодарим за помощь.

Редактировать: Хорошо, поэтому он больше не дает мне сообщение об ошибке, и да, я просто скопировал и вставил код. Однако, когда он печатает его не в формате верхнего регистра. Я поставил следующий сразу после "имя String = ...." и удалил str.toUppercase() строку:

System.out.println(name); 
name = name.toUpperCase();` 
+2

Вы не имеете переменную 'str'. Скорее всего, вы скопировали это из примера кода. Используйте 'name.toUpperCase()'. – Mordechai

+1

Повторите свое редактирование, вы печатаете его перед его преобразованием. – EJP

+0

Итак, если я правильно понял, я бы поставил .toUpperCase, а затем строку.next()? – Everette

ответ

1

Есть причина, по которой вы не заглатываете немедленно?

String name = string.next().toUpperCase() 
+0

Назначение - взять ввод для 14char от кого-то, а затем отформатировать его. Поэтому, если они вошли в Input: X839WS21R4E877, тогда я должен вывести его как: Дисплей: X-839 WS21 R4-E87 (7). Учите, также сказал, что если ввод вводится в нижнем регистре, то он должен выводиться в верхнем. Если вы не имеете в виду верхний регистр ранее в коде? Я собираюсь в школу для программирования, поэтому я не совсем «знающий» в этом. – Everette

+1

Я не понимаю, почему вы не можете заглавными буквами. Это была моя точка зрения. Ваш вопрос делает два шага, когда это может быть одно. –

+0

Хорошо, если я правильно понял, используя код, который вы указали, он заглавными буквами сразу, где, как если бы я поместил код ниже, это было бы как второй шаг. Верный? – Everette

1

Изменение к

name = name.toUpperCase(Locale.ENGLISH); 

или более просто

name = name.toUpperCase(); 
0

Вы также можете добавить накладку к ней, если вы хотите, это рабочий пример:

String choice; 

Scanner s = new Scanner(System.in); 
choice = s.nextLine().trim().toUpperCase(); 
Смежные вопросы