(Rookie mistake, I'm sure.)
I'm a first year computer science student, and attempting to write a program for an assignment, with the code;
import java.util.Scanner;
public class Lab10Ex1 {
public static void main(String[] arg) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Please type a number: ");
int n = keyboard.nextInt();
calcNumFactors();
}
public static void calcNumFactors(){
System.out.print(n + 1);
}
}
But upon compiling, I get the error;
Lab10Ex1.java:10: error: cannot find symbol System.out.print(n + 1); ^
symbol: variable n
location: class Lab10Ex1
If someone could explain to me what I've done wrong, or how to fix it, I would greatly appreciate it.
You must declare the variable
n
inpublic static void calcNumFactors()
In your code, you have to pass the value of n as an argument to the function
calcNumFactors()
as Hovercraft Full Of Eels said.The
n
variable was declared in themain
method and thus is visible only in the main method, nowhere else, and certainly not inside of thecalcNumFactors
method. To solve this, give yourcalcNumFactors
method anint
parameter which would allow calling methods to pass anint
, such asn
into the method.and call it like so: