Java 中的输出问题

我不知道为什么我的输出不正确。例如,如果输入是“跑步很有趣”,那么输出应该是“跑步很有趣”。但是,我得到的输出是“Iunning”。


  import java.util.Scanner;

  public class Problem1 {

  public static void main( String [] args ) {


 Scanner sc = new Scanner(System.in);


 System.out.println("Enter text: ");

 String sentence = sc.nextLine();


  int space = sentence.indexOf(" ");

 String firstWord = sentence.substring(0, space + 1);

 String removedWord = sentence.replaceFirst(firstWord, "");


String newSentence = removedWord.substring(0,1).toUpperCase() + 

firstWord.substring(1).toLowerCase();


System.out.println(""); 

System.out.println( newSentence );


  }

}


万千封印
浏览 165回答 3
3回答

浮云间

removedWord.substring(0,1).toUpperCase()此行添加句子中第二个单词的大写第一个字母。( I)firstWord.substring(1).toLowerCase();将第一个单词的每个字母添加到句子的末尾。( unning)因此,这会创建 的输出Iunning。您需要添加其余removedWord的String,还有一个空间,和的第一个字母firstWord,如在空间中的小写字母removedWord。您可以通过使用indexOf来查找空间,然后使用在空间索引后substring()添加 on来执行更多操作firstWord.toLowerCase():removedWord = removedWord.substring(0, removedWord.indexOf(" ")) + " " +               firstWord.toLowerCase() +               removedWord.substring(removedWord.indexOf(" ") + 1,               removedWord.length());String newSentence = removedWord.substring(0,1).toUpperCase() +                  removedWord.substring(1, removedWord.length());输出:Is running fun

海绵宝宝撒

你的问题是firstWord.substring(1).toLowerCase()没有像您期望的那样工作。由于firstWord是“Running“在你的榜样,那么”Running“.substring(1)返回“unning””unning“.toLowerCase()显然返回“unning”
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java