Java 打印出字符串中第三个单词的第一个字母

Java 打印出字符串中第三个单词的第一个字母,java,Java,任务是:打印出歌曲第三个单词的第一个字母。 导师/演示者说我应该使用循环 import java.lang.*; public class SongApp{ public static void main(String[] args){ Song song1 = new Song("While my guitar weeps"); Song song2 = new Song("Let it be"); //Song song3 = new Song("Penny Lane"); Stri

任务是:打印出歌曲第三个单词的第一个字母。 导师/演示者说我应该使用循环

import java.lang.*;

public class SongApp{

public static void main(String[] args){

Song song1 = new Song("While my guitar weeps");
Song song2 = new Song("Let it be");
//Song song3 = new Song("Penny Lane");

String str1 = song1.toString();
String str2 = song2.toString();

System.out.println(song1.toString());
//System.out.println("Length is: " + str1.length());
System.out.println(song2.toString());
//System.out.println("Length is: " + str2.length());

//System.out.println(str1.charAt(str1.length()-1));
//System.out.println(str2.charAt(str2.length()-1));

int s1 = str1.indexOf(' ');
System.out.println(str1.substring(0, str1.indexOf(' ', s1 +1)));
//System.out.println(str1.substring(str1.indexOf(' ', s1 + 2)));

int s2 = str2.indexOf(' ');
System.out.println(str2.substring(0, str2.indexOf(' ', s2 +1)));
//System.out.println(str2.substring(str2.indexOf(' ', s2 + 1)));
 } 
}

public class Song{

  private String songLine;

  public Song (String sLine){
    songLine = sLine;
  }

  public String toString(){
    return songLine;
  }

  public void process(){}

}
我被困住了,不知道如何继续

我还需要打印我已经完成的前两个单词,但需要在另一行打印字符串的其余部分,到目前为止,我主要是为了在开始时留出额外的空间

谢谢, JXDee

公共静态void main(字符串[]args){
public static void main(String[] args){

Song song1 = new Song("While my guitar weeps");
Song song2 = new Song("Let it be");

String str1 = song1.toString();
String str2 = song2.toString();

 int x=0;
 int currentSpace=0;
 String wordResult="";
 while (x<song1.length()){

   if (song1.charAt(x)=' ') {
     currentSpace++;
    }
   if (currentSpace = 2) {
   wordResult =wordResult + song1.charAt(x);
  }
 x++;
 }
 System.out.println("The first character is: " + wordResult.charAt(0));
 System.out.println("The result is :" + wordResult);

} 
}
Song song1=新歌(“当我的吉他哭泣时”); Song song2=新歌(“顺其自然”); 字符串str1=song1.toString(); 字符串str2=song2.toString(); int x=0; int currentSpace=0; 字符串wordResult=“”; 而(xA工作溶液::-)

String x=“当我的吉他哭泣时”;
x=x.trim();
对于(inti=1;i
stringword=“一二三”;
int空间=0;
int ch=0;

虽然(空格请按照上面的输入发布预期的输出。我很欣赏快速响应,但演示者希望它在一个循环中。我们还没有达到数组的数量。等等,作为不使用数组的条件?到目前为止,我们一直在做“if,else,while,Do,case”循环,但没有数组,演示者没有指定要使用哪个循环。@JXDee:你可以检查一下k我的答案,它有
While
循环,并且没有使用
数组
。我知道示威者想要不同的答案。我只是使用While循环编辑了代码。我希望这会有助于欢迎堆栈溢出!虽然您可能已经解决了此用户的问题,但仅代码的答案对在未来。请编辑您的答案,解释为什么您的代码解决了原始问题。您好@JoeC,谢谢您的观点。我不是故意解释的。;-)欢迎使用Stack Overflow!虽然您可能已经解决了此用户的问题,但对于将来遇到此问题的用户来说,仅代码的答案并没有多大帮助。请编辑您的答案,解释您的代码解决原始问题的原因。@JoeC我理解。但我想这就是代码需要的全部解释
String x = "While my guitar weeps";
x= x.trim();

for(int i=1; i<=2; i++)
  x = x.substring(x.indexOf(" ")+1) ;

char reqChar = x.charAt(0);
    String word = "One Two Three";
    int space = 0;
    int ch = 0;
    while(space<2){
        if(word.charAt(ch)==' '){               
            space++;
        }
        ch++;           
    }
    System.out.println(word.charAt(ch));