0

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

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

输出:

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

到底是怎么回事

我已将该行改写为:// 它应该是“正在发生什么”

W 正在发生什么

PS -我需要将字母“i”大写。如何让“second.substring(0,1)”读取字符“i”?正如建议的那样,我试图弄清楚剥离字母并将其与大写字母连接,但我不确定。

对于那些抨击我没有自己做这件事的人。我已经多次尝试并通读了这本书。这没有任何帮助。我不得不问教授,所以他给了我一个先机,但仍然不够。无论如何,我想了解它。不是每个人都掌握相同的方法。我个人,需要例子和详尽的解释来理解。

4

3 回答 3

2

改变:

   first= sentence.substring(0,4);  

至:

   first= sentence.substring(0,x);

然后加:

   sentence = sentence.substring(x+1,sentence.length());
于 2011-01-31T17:50:55.440 回答
1

尝试:

first = sentence.substring (0, x);
// other stuff
System.out.println (sentence.substring (x + 1) + " " + first);
于 2011-01-31T17:51:36.660 回答
0

TL;DR:使用另一个调用substring来剥离第一部分。请参阅String 类文档以及Manipulating Characters in a String


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

对于句子:你好吗。你first将存储第一个词:如何

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

之后只需连接两者:

String newSentence = sentence + " " + first;

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

上帝保佑!

于 2011-01-31T17:53:26.767 回答