-
Bug
-
Resolution: Won't Fix
-
P4
-
None
-
1.2.0, 1.2.1
-
generic, x86
-
windows_98, windows_nt
Name: krT82822 Date: 03/10/99
[ sorce code ]--------------------------------
class While
{
public static void main(String args[])
{
int i = 0;
int j = 0;
int k;
while(i < 10)
{
while(j < 10)
{
j++;
break;
}
i++;
k = i * j;
System.out.println(k);
}
}
}
(Review ID: 55305)
======================================================================
Name: krT82822 Date: 08/29/99
After having compiled the program 'c:\javac StateMachineTest.java' and executing it 'c:\java StateMachineTest' the following appeared on screen:
begin screen dump:
A nonfatal internal JIT (3.00.078(x)) error 'LD: null preHeader' has occured in:
'StateMachineTest.main ([Ljava/lang/String;)V' : Interpreting method.
Please report bug to.......
end screen dump.
I hope this is of some use to you.
Here is the source code for StateMachineTest:
class StateMachineTest { // start class
int count, PresentState, TestLength;
String TestString[];
public boolean TestForPoint(String TestString[],int counter) { //start PointTest
if(TestString[counter] == ".") // start if
return true; // end if
else // start else
return false; // end else
} // end PointTest
public boolean TestForNumber(String TestString[],int counter){ // start Numbertest
if(TestString[counter] == "0" || // start if
TestString[counter] == "1" ||
TestString[counter] == "2" ||
TestString[counter] == "3" ||
TestString[counter] == "4" ||
TestString[counter] == "5" ||
TestString[counter] == "6" ||
TestString[counter] == "7" ||
TestString[counter] == "8" ||
TestString[counter] == "9")
return true; // end if
else // start else
return false; // end else
} // end Numbertest
public boolean TestForE(String TestString[],int counter){ //start ETest
if (TestString[counter] == "e") //Start if
return true; // end if
else // start else
return false; // end else
} // end Etest
public static void main (String[] arguments){ // start main
StateMachineTest s = new StateMachineTest();
s.TestString = new String[5];
s.TestString[0] = "1";
s.TestString[1] = ".";
s.TestString[2] = "3";
s.TestString[3] = "e";
s.TestString[4] = "3";
s.PresentState = 0;
s.count = 0;
s.TestLength = s.TestString.length;
System.out.println("---- Test beginning ----");
//StateMachine WhileLoops
while (s.count <= (s.TestLength - 1)) { // start test untill end of TestString
while (s.PresentState == 0) { //State 0 start
System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");
if (s.TestForPoint(s.TestString,s.count)) { // start 1. if
s.PresentState = 3;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} //end 1. if
if (s.TestForNumber(s.TestString,s.count)) { // start 2. if
s.PresentState = 1;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} // end 2. if
else { // start else
s.PresentState = 6;
System.out.println("### Going to = " + s.PresentState + "###");
s.count = s.TestLength;
break;
} // end else
} // State 0 end
while (s.PresentState == 1) { // State 1 start
System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");
if (s.TestForPoint(s.TestString,s.count)) { // start 1. if
s.PresentState = 2;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} // end 1. if
if (s.TestForNumber(s.TestString,s.count)) { // Start 2. if
s.PresentState = 1;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} // end 2. if
if (s.TestForE(s.TestString,s.count)) { //Start 3. if
s.PresentState = 5;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} // end 3. if
else { // start else
s.PresentState = 6;
System.out.println("### Going to = " + s.PresentState + "###");
s.count = s.TestLength;
break;
} // end else
} // state 1 end
while (s.PresentState == 2) { // state 2 start
System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");
if (s.TestForNumber(s.TestString,s.count)) { // start 1. if
s.PresentState = 2;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} // end 1. if
if (s.TestForE(s.TestString,s.count)) { // start 2, if
s.PresentState = 5;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} // end 2. if
else { // start else
s.PresentState = 6;
System.out.println("### Going to = " + s.PresentState + "###");
s.count = s.TestLength;
break;
} // end else
} // state 2 end
while (s.PresentState == 3) { // state 3 start
System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");
if (s.TestForNumber(s.TestString,s.count)) { // start 1. if
s.PresentState = 2;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} // end 1. if
else { // start else
s.PresentState = 6;
System.out.println("### Going to = " + s.PresentState + "###");
s.count = s.TestLength;
break;
} // end else
} // state 3 end
while (s.PresentState == 4) { // state 4 start
System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");
if (s.TestForNumber(s.TestString,s.count)) { // start 1. if
s.PresentState = 4;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} // end 1. if
else { // start else
s.PresentState = 6;
System.out.println("### Going to = " + s.PresentState + "###");
s.count = s.TestLength;
break;
} // end else
} // state 4 end
while (s.PresentState == 5) { // state 5 start
System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");
if (s.TestForNumber(s.TestString,s.count)) { // start 1. if
s.PresentState = 4;
System.out.println("### Going to = " + s.PresentState + "###");
s.count++;
break;
} // end 1. if
else { // start else
s.PresentState = 6;
System.out.println("### Going to = " + s.PresentState + "###");
s.count = s.TestLength;
break;
} // end else
} // state 5 end
} // end test untill end of TestString
if (s.PresentState == 1) // result state 1
System.out.println("TestString is an Integer - Found in State 1");
if (s.PresentState == 2) // result state 2
System.out.println("TestString is a Float - Found in State 2");
if (s.PresentState == 4) // result state 4
System.out.println("TestString is a Float - Found in State 4");
if (s.PresentState == 6) // result test terminated due to invalid number
System.out.println("Test terminated due to an error - check for valid TestString");
System.out.println("--- End of Test ---");
} // end main
} // end class
(Review ID: 94579)
======================================================================