View Single Post
  #1 (permalink)  
Old 07-31-2007, 11:18 PM
mathias mathias is offline
Member
 
Join Date: Jul 2007
Posts: 40
mathias is on a distinguished road
I can't seem to pass the value of a string variable into a string array
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:

Code:
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,
Code:
sntncArray[wrdCnt]=sntnc.substring(0,x-1);
always equals null, in spite of the fact that
Code:
sntnc.substring(0,x-1);
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
Code:
sntnc.substring(0,x-1);
("passer") and tried
Code:
sntncAray[wrdCnt]=passer;
but with the same result:Null.
Thanks.
Reply With Quote
Sponsored Links