Java 把第一个单词移到句末?

Java 把第一个单词移到句末?,java,string,Java,String,下面是整个问题的答案。 它应该适用于任何句子,而不仅仅是示例中给出的句子 我知道这和弦有关。我们的教授已经复习了这些字符串方法 这只是一个基本的java类,所以不要使用任何复杂的东西 这就是我所拥有的,我不知道接下来该怎么办 任何帮助都将不胜感激 public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); System.out.println("Ent

下面是整个问题的答案。 它应该适用于任何句子,而不仅仅是示例中给出的句子 我知道这和弦有关。我们的教授已经复习了这些字符串方法

这只是一个基本的java类,所以不要使用任何复杂的东西 这就是我所拥有的,我不知道接下来该怎么办 任何帮助都将不胜感激

 public static void main(String[] args)
 {
      Scanner keyboard = new Scanner(System.in);    
      System.out.println("Enter a line of text. No punctuaton please");
      String sentence = keyboard.nextLine();
      System.out.println(sentence);
    }
}
您可以使用:

  • splitted[0]
    是第一个单词
  • splitted[splitted.length-1]
    是最后一个字

由于不允许您使用
String#split
,您可以使用以下技巧:

myString = myString.substring(0, myString.lastIndexOf(" ")) + firstWord; 
通过这样做,您将有一个包含没有最后一个单词的句子的列表。(对于提取第一个单词,可以使用

firstWord
是您以前提取的第一个单词(我不会为您解决整个问题,尝试自己解决,现在应该很容易)

您可以使用:

  • splitted[0]
    是第一个单词
  • splitted[splitted.length-1]
    是最后一个字

由于不允许您使用
String#split
,您可以使用以下技巧:

myString = myString.substring(0, myString.lastIndexOf(" ")) + firstWord; 
通过这样做,您将拥有一个包含句子但不包含最后一个单词的列表。(对于提取第一个单词,您可以使用


firstWord
是您之前提取的第一个单词(我不会为您解决整个问题,尝试自己解决,现在应该很容易)

很好,因为您似乎在寻找非常简单的字符串算术。 这是我能做的最简单的事情:

      // get the index of the start of the second word
      int index = line.indexOf (' ');
      // get the first char of the second word
      char c = line.charAt(index+1);
      /* this is a bit ugly, yet necessary in order to convert the
       * first char to upper case */
      String start = String.valueOf(c).toUpperCase(); 
      // adding the rest of the sentence
      start += line.substring (index+2);
      // adding space to this string because we cut it
      start += " ";
      // getting the first word of the setence
      String end = line.substring (0 , index);
      // print the string
      System.out.println(start  + end);

看起来你在寻找非常简单的字符串算术。 这是我能做的最简单的事情:

      // get the index of the start of the second word
      int index = line.indexOf (' ');
      // get the first char of the second word
      char c = line.charAt(index+1);
      /* this is a bit ugly, yet necessary in order to convert the
       * first char to upper case */
      String start = String.valueOf(c).toUpperCase(); 
      // adding the rest of the sentence
      start += line.substring (index+2);
      // adding space to this string because we cut it
      start += " ";
      // getting the first word of the setence
      String end = line.substring (0 , index);
      // print the string
      System.out.println(start  + end);
试试这个

String str = "Java is the language";
String first = str.split(" ")[0];
str = str.replace(first, "").trim();
str = str + " " + first;
System.out.println(str);
试试这个

String str = "Java is the language";
String first = str.split(" ")[0];
str = str.replace(first, "").trim();
str = str + " " + first;
System.out.println(str);

这里有另一种方法可以做到这一点。 更新:无循环

              Scanner keyboard = new Scanner(System.in);    
      System.out.println("Enter a line of text. No punctuaton please");
      String sentence = keyboard.nextLine();
      System.out.println(sentence);
      int spacePosition = sentence.indexOf(" ");
      String firstString = sentence.substring(0, spacePosition).trim();
      String restOfSentence = sentence.substring(spacePosition, sentence.length()).trim();
      String firstChar = restOfSentence.substring(0, 1);
      firstChar = firstChar.toUpperCase();
      restOfSentence = firstChar + restOfSentence.substring(1, restOfSentence.length());
      System.out.println(restOfSentence + " " + firstString);
      keyboard.close();

这里有另一种方法可以做到这一点。 更新:无循环

              Scanner keyboard = new Scanner(System.in);    
      System.out.println("Enter a line of text. No punctuaton please");
      String sentence = keyboard.nextLine();
      System.out.println(sentence);
      int spacePosition = sentence.indexOf(" ");
      String firstString = sentence.substring(0, spacePosition).trim();
      String restOfSentence = sentence.substring(spacePosition, sentence.length()).trim();
      String firstChar = restOfSentence.substring(0, 1);
      firstChar = firstChar.toUpperCase();
      restOfSentence = firstChar + restOfSentence.substring(1, restOfSentence.length());
      System.out.println(restOfSentence + " " + firstString);
      keyboard.close();


不知道你的意思。而且这个方法不在这里。你能把这个代码合并到我的代码中吗?myString=myString.substring(0,myString.lastIndexOf(“”)+firstWord;eclipse中的firstWord是一个错误,我不确定你所说的String#indexOf是什么意思。也许我们应该按照你上次展示的方式来做。我想我们的教授只是忘记给我们展示这个方法了。记住,我只是一个初学者,到目前为止我们只有两门课,所以我仍然很困惑。firstWord会产生一个错误,因为我相信你还没有声明。作者已经提到了如何检索它。虽然他不想向您提供答案,但我会:
String firstWord=myString.substring(0,myString.indexOf(“”)
不知道您的意思。该方法不在这里。您能将该代码合并到我的代码中吗?myString=myString.substring(0,myString.lastIndexOf(“”)+firstWord;eclipse中的firstWord是一个错误,我不确定你所说的String#indexOf是什么意思。也许我们应该按照你上次展示的方式来做。我想我们的教授只是忘记给我们展示这个方法了。记住,我只是一个初学者,到目前为止我们只有两门课,所以我仍然很困惑。firstWord会产生一个错误,因为我相信你还没有声明。作者已经提到了如何检索它。虽然他不想向您提供Answare,但我将:
String firstWord=myString.substring(0,myString.indexOf(“”))注:他要求在开始时的第一个新字符是大写字母。注意到他在开始时的第一个新字符是大写字母。我会考虑这个非常坏的代码。我不会向初学者显示类似的东西。我认为这是初学者代码,它只是基本的循环,我不认为这是一个。y高级代码。不同的人有不同的观点。虽然这有点复杂,如果你真的想使用循环,你可以简化这个例子很多。例如
if(句子。字符(i)='')firstWord=句子。子字符串(0,i);
substring()和charAt()这就是为什么他会考虑这个非常糟糕的代码的原因之一。我不会向初学者展示类似的东西。我认为这是一个初学者代码,它只是基本的循环,我不认为这是任何高级代码。不同的人我会说不同的意见。o使用循环可以大大简化该示例。例如
if(句子.charAt(i)='')firstWord=句子.substring(0,i);
substring()和charAt()这是他能用的,这是它的代码工作的原因之一,这个词被替换而不是原来的java语言是java语言是java语言再次检查一下,我已经测试过了,现在又做了一遍。“是java语言吗?”是我的输出:P我看不到任何选项来选择这个作为答案:S它在哪里?nvmcode类工作,单词被替换而不是原始java是语言是java java再次检查,我已经测试了它,现在又做了一遍。“是语言java吗?”是我的输出:P我看不到任何选项选择这个作为答案:S它在哪里?nvm