heres the start

public class work
{
public static void main (String [] args)
{


int number = 1;
}
public static boolean ifstate()
{
if ( number == 0 )
blah blah
}

question - how do I get the second method to call on the varible from the first.

thanks

Recommended Answers

All 10 Replies

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

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).

how do you "pass it to the second method as a parameter"
is it
public static int ifstate(int number)
????

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

not clear, i dont need a boolean , sorry to have had posted it at the top
i just need a simple number to pass

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

i did that and got
non-static variable thirdNo cannot be referenced from a static context
???

quick question
how do you also pass(call) more than one number/char/boolean at a time?
(or all 3 types at once)

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! :)

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.

yes and yes,
i know everything like for loops, do while, switch, arrays its just methods im stuck on.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.