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

时间:2017-08-11 04:34:15

标签: java

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

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

2 个答案:

答案 0 :(得分:-1)

工作解决方案::-)

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

答案 1 :(得分:-1)

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

这很有效。当space = 1时,你知道它是第三个单词的开头。所以下一个角色将是你正在寻找的角色。