为了账号安全,请及时绑定邮箱和手机立即绑定

Java 中的输出问题

Java 中的输出问题

万千封印 2021-10-06 09:42:05
我不知道为什么我的输出不正确。例如,如果输入是“跑步很有趣”,那么输出应该是“跑步很有趣”。但是,我得到的输出是“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 );  }}
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

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


查看完整回答
反对 回复 2021-10-06
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

你的问题是

firstWord.substring(1).toLowerCase()

没有像您期望的那样工作。

由于firstWord“Running“在你的榜样,那么

”Running“.substring(1)

返回“unning”

”unning“.toLowerCase()

显然返回“unning”


查看完整回答
反对 回复 2021-10-06
  • 3 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信