Illegal Start of Expression

What is wrong with this code ? It tells me : Illegal Start of Expression..  :-|

import javax.microedition.lcdui.*;
import java.io.IOException;

public class PlayScreen extends Form implements CommandListener
{
      private Command okCommand;
      private String[] myChoice;
      private Display display;
      private String recStore;
      private ChoiceGroup answerChoices ;
      private String question = null;
      private String[] table;
      private String str1,str2,str3,str4;

      
      
      public PlayScreen(int questNum)
      {
            
            super("Millionaire Game");
            try
            {
                  
                  okCommand = new Command("OK", Command.OK,0);
                  
                  //add OK at soft button
                  addCommand(okCommand);
                  
                  setCommandListener(this);
                  
                  
                  //retrieve one record from record store
                  recStore = Millionaire.pd.getOneRecord(questNum);
            //      append(recStore);
                  
                  //retrieve question from record store
                  question = Millionaire.pd.getQuestion(recStore);
                  append(question);
                  
                  //retrieve choice selection from record store
                  str1 = Millionaire.pd.getChoice1(recStore);
                  str2 = Millionaire.pd.getChoice2(recStore);
                  str3 = Millionaire.pd.getChoice3(recStore);
                  str4 = Millionaire.pd.getChoice4(recStore);

                  table = {str1,str2,str3,str4};
                  answerChoices = new ChoiceGroup("AaAa", ChoiceGroup.EXCLUSIVE, table, null);
            append(answerChoices);
                  
                  
                  
            }
            catch (Exception e)
            {
                  e.printStackTrace();
            }
      }
redcoderAsked:
Who is Participating?
 
StillUnAwareCommented:
You could initialize table thst only when declaring it:

String[] table = {str1,str2,str3,str4};

but in this case You'll have to assign every items to its corresponding values:

table[0] = str1;
table[1] = str2;
table[2] = str3;
table[3] = str4;
0
 
redcoderAuthor Commented:
This is the whole message I got:

C:\WTK22\apps\Millionaire(2)\src\PlayScreen.java:49: illegal start of expression
                  table = {str1,str2,str3,str4};
0
 
redcoderAuthor Commented:
for(int i=1 ; i <=4; i++)
{
choices[i] = str+""+i;
}
      
I try use for loop but could figure out how to arrange i=1,2,3,4 to str;            
0
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

 
StillUnAwareCommented:
You can not convert any object to represent local variables name

str+""+1  will never be the variable  str1

You could do something like that:

String arr = {str1,str2,str3,str4};
table = arr;
arr = null;

but this is only unneeded resource usage on the mobile device.
0
 
redcoderAuthor Commented:
ALright then i rather use your method above.
table[0] = str1;
table[1] = str2;
table[2] = str3;
table[3] = str4;


But I couldn't append the table using :

append(table);
0
 
objectsCommented:
try:

for (int i=0; i<table.length; i++) append(table[i]);
0
 
redcoderAuthor Commented:
Receive this error:

javax.microedition.rms.InvalidRecordIDException
      at javax.microedition.rms.RecordStore.findRecord(+18)
      at javax.microedition.rms.RecordStore.getRecord(+22)
      at PersistantData.getOneRecord(+31)
      at PlayScreen.<init>(+52)
      at Millionaire.commandAction(+31)
      at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(+282)
      at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction(+10)
      at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(+68)
      at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(+47)
      at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+250)
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
      at java.lang.String.substring(+45)
      at PersistantData.parse(+81)
      at PersistantData.getQuestion(+5)
      at PlayScreen.<init>(+66)
      at Millionaire.commandAction(+31)
      at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(+282)
      at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction(+10)
      at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(+68)
      at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(+47)
      at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+250)
0
 
objectsCommented:
looks like maybe questNum is invalid id
0
 
Kelvin_KingCommented:
what does your append function look like ?

Or are you using StringBuffer.append ?
0
 
redcoderAuthor Commented:
No, I didn't use any stringbuffer..


objects is right.

The problem comes from questNum.  
I have fixed it..

thx
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.