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