Последний введенный символ в нижний или верхний регистр - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть код.Ввод символа, программа останавливается, когда я ввожу полный останов (.).Итак, я хочу изменить свой последний введенный символ на нижний регистр, если пользователь вводит верхний регистр, или верхний регистр, если пользователь вводит нижний регистр.Поэтому моя проблема в том, как изменить верхний регистр на нижний или нижний на верхний.Я не знаю, как найти последний индекс.

Пример: [gjgk.K] или [kjf G.g]

   Scanner input = new Scanner(System.in);
    String character = input.nextLine();

    while (true) {
        String character1 = input.nextLine();
        if (character1.equals(".")) {
            break;

Итак, я только что сделал, чтобы мой прогарам остановился, когда пользовательский ввод полностью остановился, и я не знаю, как изменить последний введенный символ в нижний или верхний регистр!

Ответы [ 3 ]

0 голосов
/ 26 декабря 2018

Возможно, вы пытаетесь изменить ввод, но это невозможно.Вы должны напечатать каждый символ на выходе.

Вы можете попробовать что-то вроде этого:

Scanner input = new Scanner(System.in);
Char lastChar = '';

while (true) {
    String character1 = input.nextLine();
    if (character1.equals(".")) {
        if(isBig(lastChar)) {
            print(lowerCase(lastChar));
        } else {
            print(upperCase(lastChar));
        }          
        break;
    }
    print(lastChar);
    lastChar = character1;
}
0 голосов
/ 26 декабря 2018

Построить вокруг следующее.

Первые два проверяют, является ли символ прописным или строчным.Следующие два преобразуют два заглавных и строчных соответственно.

Итак, все будет примерно так.Он преобразует только последний символ, если это буква.Если вам нужна последняя буква, а не последний символ, вы можете легко изменить ее.

    Scanner scanner = new Scanner(System.in);
    scanner.useDelimiter("");
    List<Character> characters = new ArrayList<>();

    while(true){
        String token = scanner.next();
        if( token.equals(".") ){
            break;
        }
        characters.add(token.charAt(0));
    }
    for( int i = 0 ; i < characters.size() - 1 ; i++){
        System.out.print(characters.get(i));
    }
    Character lastCharacter = characters.get( characters.size() - 1 );
    if( Character.isUpperCase( lastCharacter ) ) {
        lastCharacter = Character.toLowerCase(lastCharacter);
    }else if( Character.isLowerCase( lastCharacter )) {
        lastCharacter = Character.toUpperCase(lastCharacter);
    }
    System.out.println( lastCharacter );
0 голосов
/ 26 декабря 2018
String character ="C".toLowerCase();

, если вы имеете в виду String, а не char ...

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