I’m getting a null pointer exception whenever I enter a value to be added at that point in my int[] array and I’m uncertain where I should go from here or if another array is necessary. Any help would be greatly appreciated.
import java.util.Scanner;
public class Range
{
private int[] range;
private int begin,end,falseLoop,numInts,count;
Scanner scan = new Scanner(System.in);
public static void main(String[] args)
{
Range r = new Range();
r.getRange();
r.getAmount();
r.getInts();
//r.printAll();
}
private void getRange()
{
System.out.println("Please enter the first number in the range you would like to use: ");
begin = scan.nextInt();
System.out.println("Please enter the second number in the range you would like to use: ");
end = scan.nextInt();
falseLoop = end;
int[] range = new int[(Math.abs(begin) + Math.abs(end))];
for(int x = 0; x < range.length; x++)
{
range[x] = 0;
}
}
private void getAmount()
{
System.out.println("Please enter the amount of integers you would like to enter "
+ "in the range of " + begin + " to " + end);
numInts = scan.nextInt();
}
private void getInts()
{
for(int y = 0; y < numInts; y++)
{
System.out.println("Please enter an integer: ");
range[scan.nextInt()]++;
}
}
private void printAll()
{
for(int i = 0; i < range.length; i++)
{
System.out.println("Value: " + falseLoop + "equals: " + range[i]);
falseLoop++;
}
}
}
You’re shadowing your class variable inside of
getRange.Should actually be:
You get null pointers because you’ve declared an array, but nothing’s been allocated for it.