UpperCase问题,使用IndexOf

时间:2011-01-31 17:42:50

标签: java string substring indexof

输入一行文字。请不要标点符号。

Java是语言。

我已将该行改为:

语言是java。

尝试:

 int x;
 String  sentence, first;

 System.out.println("\nEnter a line of text. No punctuation please.");

 Scanner keyboard = new Scanner (System.in);

 sentence=keyboard.nextLine();

   x = sentence.indexOf(" ");
 first= sentence.substring(0,x);
 second=sentence.substring(0,1)
 second=second.toUpperCase();  
 System.out.println("I have rephrased that line to read:");
 System.out.println(second+sentence.substring(x+1)+" "+first);

输出:

输入一行文字。请不要标点符号。

发生了什么

我已将该行改为://应该是“正在进行什么”

正在进行什么

P.S-我需要写“i”字母。      如何让“second.substring(0,1)”读取字符“i”?      正如所建议的那样,我试图找出剥离信件并将其连接起来      大写,但我不确定。

对于那些不依靠自己这样做而抨击我的人。我已经多次尝试并阅读了本书。没有任何帮助。我不得不问教授,所以他给了我一个良好的开端,但仍然不够。无论如何,我想要了解它。不是每个人都以同样的方式抓住。我个人需要例子和精心解释才能理解。

3 个答案:

答案 0 :(得分:2)

变化:

   first= sentence.substring(0,4);  

致:

   first= sentence.substring(0,x);

然后添加:

   sentence = sentence.substring(x+1,sentence.length());

答案 1 :(得分:1)

尝试:

first = sentence.substring (0, x);
// other stuff
System.out.println (sentence.substring (x + 1) + " " + first);

答案 2 :(得分:0)

TL; DR:使用另一个电话substring去除第一部分。请参阅the String class documentation以及Manipulating Characters in a String


您的代码似乎根本不起作用。您保存在x第一个空格的位置但不使用它,它应该是sentence.substring(0, x)

对于这句话:你好吗。在first中,您将存储第一个字:

然后你应该从sentence中删除第一个单词:sentence = sentence.substring(x+1)。现在句子将是:你是

之后只是连接两个:

String newSentence = sentence + " " + first;

你已经存储了变量newSentence你是如何

上帝保佑!