0

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

Edited by happygeek: fixed formatting

3
Contributors
10
Replies
11
Views
13 Years
Discussion Span
Last Post by ultimate_fusion
0

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

0

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

0

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

0

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
0

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

0

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
???

0

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

0

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

0

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.

0

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

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.