Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 交换时,仅将第一个单词的第一个字母大写_Java_String_Whitespace - Fatal编程技术网

Java 交换时,仅将第一个单词的第一个字母大写

Java 交换时,仅将第一个单词的第一个字母大写,java,string,whitespace,Java,String,Whitespace,我试图在交换第一个单词时只大写第一个字母 这就是我目前所拥有的 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("> "

我试图在交换第一个单词时只大写第一个字母

这就是我目前所拥有的

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);

    }

}
试一试


一些更正;最后一个字以空格开头

    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);

你看到了什么问题?也就是说,您的输出(如果您有)与您期望的有什么不同?您好,欢迎来到stackoverflow。我重新标记了您的问题,因为这与您的IDE关系不大,更多的是字符串和(可能)空格。你不必告诉你的开发工具集,除非它与问题有关。当我编译然后运行时,它会大写第一个单词。我只希望它将交换的第一个单词的第一个字母大写。这不应该是最后一个单词而不是输入吗?
    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);