vendredi 25 octobre 2019

JAVA: Find word in a phrase that the user asked for, not using split or StringTokenizer

I'm working on a program that ask the user to input a phrase and an integer. The integer is used to identify which word will be return from the phrase. Ex: if they enter 5, the program should return to the user the fifth word in the sentence.

System.out.println("Your word is: " +combineString(phrase,numWord));

This is my work so far, there is a main to output,

public static String combineString(String newPhrase, int newNum) {
  int countWords = 0;
  String word = "";

  //words count. I'll +1 everytime using countWord the match the amount of words
  for(int i=0; i< newPhrase.length(); i++) {
     if(newPhrase.charAt(i) == ' ') {
        countWords++;             
     }
  }  

  //return the last word. Ex: 15 words in a phrase if user pick the 18th word it will return the 15th word.
  if(countWords+1 < newNum  || countWords+1 <= newNum) {
     word += newPhrase.substring(newPhrase.lastIndexOf(' ')+1, newPhrase.length()-1);
  }
  else if(newNum <=0) { //return null if the user pick 0 or less than 0
     word += null;   
  }           
  return word;

And I was thinking a lot on how to work on the middle part and my thought are if the user pick numWord = 5, then in order to return the fifth word in that sentence, I'm gonna need to use "newPhrase.substring(space 4th +1, space 5th)". And this is where I stuck because I don't know how to start, and how to get to space 4th. So any advices, snippets, codes, to help me understand is much appreciated. Thanks!

Aucun commentaire:

Enregistrer un commentaire