@@ -5,36 +5,49 @@ public class Sentence {
5
5
6
6
public ArrayList <Integer > getBlankPositions () {
7
7
ArrayList <Integer > blankPositions = new ArrayList <Integer >();
8
- int i ;
9
- for (i = 0 ; i < sentence .length () - 1 ; i ++) {
10
- if (sentence .substring (i , i + 1 ) == " " )
8
+ for (int i = 0 ; i < sentence .length (); i ++) {
9
+ if (sentence .substring (i , i + 1 ).equals (" " ))
11
10
blankPositions .add (i );
12
11
}
13
12
return blankPositions ;
14
13
}
15
14
16
15
public int countWords () {
17
- return 5 ;
16
+ return getBlankPositions (). size () + 1 ;
18
17
}
19
18
20
19
public String [] getWords () {
21
- String [] words = new String [0 ];
22
20
int wordCount = countWords ();
21
+ String [] words = new String [wordCount ];
23
22
ArrayList <Integer > blankPositions = getBlankPositions ();
24
23
int i ;
25
- for (i = 0 ; i < wordCount ; i ++) {
26
- int start = 0 ;
27
- if (i > 0 ) start = blankPositions .get (i -1 );
28
- String word = sentence .substring (start , blankPositions .get (i ));
29
- words [i ] = word ;
30
- }
31
24
if (blankPositions .size () == 0 && wordCount == 1 ) {
32
25
words [0 ] = sentence ;
26
+ } else {
27
+ for (i = 0 ; i < wordCount ; i ++) {
28
+ int start = 0 ;
29
+ if (i > 0 )
30
+ start = blankPositions .get (i - 1 ) + 1 ;
31
+ if (blankPositions .size () == i ) {
32
+ String word = sentence .substring (start );
33
+ words [i ] = word ;
34
+ } else {
35
+ String word = sentence .substring (start , blankPositions .get (i ));
36
+ words [i ] = word ;
37
+ }
38
+ }
33
39
}
34
40
return words ;
35
41
}
36
42
37
43
public static void main (String [] args ) {
38
-
44
+ Sentence sentence1 = new Sentence ();
45
+ sentence1 .sentence = "The bird flew away!" ;
46
+ System .out .println (sentence1 .getBlankPositions ());
47
+ System .out .println (sentence1 .countWords ());
48
+ int i ;
49
+ for (i = 0 ; i < sentence1 .countWords (); i ++) {
50
+ System .out .println (sentence1 .getWords ()[i ]);
51
+ }
39
52
}
40
53
}
0 commit comments