Hi, I have encountered a hair raising problem: I can't seem to pass the value of a string variable into a string array. It's very frustrating when I poll the array and get null as far as the eye can see. The code follows:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.String.*;
public class SntncArray extends Applet implements ActionListener
{
TextField theSntnc = new TextField(60);
Button pressMe=new Button("parse to array");
String fillIt;
String checkIt;
Label fillMe;
String[] sntncArray= new String[30];
public void init()
{
add(theSntnc);
add(pressMe);
pressMe.addActionListener(this);
}
public void actionPerformed(ActionEvent pressMe)
{
fillIt=new String (theSntnc.getText());
fillMe=new Label("FillIt"+fillIt);
add (fillMe);
invalidate();
validate();
brkSntnc(fillIt);
}
public void brkSntnc(String sntnc)
{
int x=0;
int wrdCnt=0;
int myLen;
while (x!=-1)
{
myLen=sntnc.length();
x=sntnc.indexOf(" ");
sntncArray[wrdCnt]=sntnc.substring(0,x-1);
wrdCnt++;
System.out.println("Before:"+sntnc);
sntnc=sntnc.substring(x+1,myLen);
System.out.println("After:"+sntnc);
System.out.println("Array at "+wrdCnt+" is:"+sntncArray[wrdCnt]);
}
}
}
Basically I'm trying to write a class which accepts input and breaks the words in the input into an array, one array slot for each word. So far, as I said before,
sntncArray[wrdCnt]=sntnc.substring(0,x-1);
always equals null, in spite of the fact that
is a valid string.
I'm clearly missing something very obvious, but I can't figure out what. I know that strings are objects and not primitives and so I can't use them as primitives (I think) but how can I pass the value of a given string into an array? I even tried making a string to hold the value of
("passer") and tried
sntncAray[wrdCnt]=passer;
but with the same result:Null.
Thanks.