только заглавная буква первого слова, когда оно поменяно местами - PullRequest
0 голосов
/ 31 января 2012

Я пытаюсь использовать только первую букву первого слова, когда оно поменяно местами.

Это то, что у меня есть.

import java.util.Scanner;

public class Ass2ID7239 {

    public static void main(String[] args) {

        System.out.println("Please enter a line of text without any punctuation:");

        System.out.print("> " );

        Scanner sc = new Scanner( System.in );

        String input = sc.nextLine();

        System.out.print("I have changed your text: ");

        input.trim();

        int firstSpace = input.indexOf(" ");

        int lastSpace = input.lastIndexOf(" ");

        String firstWord = input.substring(0, firstSpace + 1);

        String middlePhrase = input.substring(firstSpace + 1, lastSpace);

        String lastWord = input.substring(lastSpace, input.length());

        lastWord = lastWord.toUpperCase();

        System.out.println(lastWord + " " + middlePhrase + " " + firstWord);

    }

}

Ответы [ 2 ]

2 голосов
/ 31 января 2012

Попробуйте

input.substring(0,1).toUpperCase() + input.substring(1).toLowerCase();
0 голосов
/ 31 января 2012

Некоторые исправления; lastWord началось с пробела.

    input = input.trim();

    int firstSpace = input.indexOf(" ");
    int lastSpace = input.lastIndexOf(" ");

    String firstWord = input.substring(0, firstSpace);
    String middlePhrase = input.substring(firstSpace + 1, lastSpace);
    String lastWord = input.substring(lastSpace + 1);

    if (!lastWord.isEmpty() {
        lastWord = lastWord.substring(0, 1).toUpperCase() + lastWord.substring(1);
    }

    System.out.println(lastWord + " " + middlePhrase + " " + firstWord);
...