Link to home
Start Free TrialLog in
Avatar of redcoder
redcoder

asked on

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();
            }
      }
Avatar of redcoder
redcoder

ASKER

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};
ASKER CERTIFIED SOLUTION
Avatar of StillUnAware
StillUnAware
Flag of Lithuania image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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;            
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.
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);
Avatar of Mick Barry
try:

for (int i=0; i<table.length; i++) append(table[i]);
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)
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
what does your append function look like ?

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


objects is right.

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

thx