It is a matter of scope.
Put
int number = 1
outside the Main method (at the begining of your class.)
Look up the deffinition of scope in Java to learn more
jerbo
Junior Poster in Training
84 posts since Sep 2004
Reputation Points: 11
Solved Threads: 1
A better way is to pass it to the second method as a parameter. Especially since main is static and pulling the variable outside main would cause all kinds of other problems (especially if multiple instances of the class are created).
jwenting
duckman
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
Try this (in reference to passing the variable):
public class work {
public static void main (String [] args) {
boolean booleanAnswer;
int number = 1;
// Passes copy of number to ifstate
booleanAnswer = ifstate(number);
}
public static boolean ifstate(int passedNumber) {
if ( passedNumber == 0 )
//blah blah
}
Let me know if it is not clear
}//end class
jerbo
Junior Poster in Training
84 posts since Sep 2004
Reputation Points: 11
Solved Threads: 1
Try this (in reference to passing the variable):
public class work {
public static void main (String [] args) {
boolean booleanAnswer;
int number = 1;
// Passes copy of number to ifstate
booleanAnswer = ifstate(number);
}
public static boolean ifstate(int passedNumber) {
if ( passedNumber == 0 )
//blah blah
}
Let me know if it is not clear
}//end class
OK, here we go.
The reason for the boolean is you declared 'ifstate' with a return type of boolean. In reality, your "blah blah" (which I assume is shorthand for the remaining code in your method,) would contain a return statement of type boolean.
Where did you place "int number = 1;" when you placed it outside of main?
If you placed it outside of main, it should look like this:
public class work {
int number = 1; // Creates the variable outside of the class
public static void main (String [] args) {
boolean booleanAnswer;
// Passes copy of number to ifstate
booleanAnswer = ifstate(number);
}
public static boolean ifstate(int passedNumber) {
if ( passedNumber == 0 )
//blah blah
}
Let me know if it is not clear
}//end class
To declare and pass multiple parameters you separate them with a coma.
//Passing to a method
MyMethod(1, parm2, "Parm3");
//The declared method would look like this:
public void MyMethod(int p1, double p2, String p3) {
// Your code here
}
Note, in my example above, I passed an Integer, a Double, and a String value. Also, since I have a 'void' return type I did not need to assign anything. I just called the method by specifying the name (and passing the parameters.)
My suggestion is to start reading some more on the basic syntax for Java.
Most of what I have tried to explaine to you is very basic, and you should be able to understand it better with a good book on Java.
If you have had any VB programming the consepts are simular.
Good Luck! :)
jerbo
Junior Poster in Training
84 posts since Sep 2004
Reputation Points: 11
Solved Threads: 1
have ever coded anything in Java before?
If not have ever read a single tutorial or beginners' book about Java?
All these questions are so basic they're part of the very earliest you should have been taught.
jwenting
duckman
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337