Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单java方法getIntBetweenBounds给出NullPointerException错误_Java_Arrays_Int_Bounds - Fatal编程技术网

简单java方法getIntBetweenBounds给出NullPointerException错误

简单java方法getIntBetweenBounds给出NullPointerException错误,java,arrays,int,bounds,Java,Arrays,Int,Bounds,我正在使用一个名为DealOrNoDeal的类为Java游戏创建一个简单的方法。 这是一种非常简单的方法,可以在两个边界之间从用户处获取int输入。但出于某种原因,它抛出了一个java.lang.NullPointerException 这是我的代码: import java.util.Scanner; import java.util.Arrays; public class DealOrNoDeal { public Scanner scanner; public stati

我正在使用一个名为DealOrNoDeal的类为Java游戏创建一个简单的方法。 这是一种非常简单的方法,可以在两个边界之间从用户处获取int输入。但出于某种原因,它抛出了一个java.lang.NullPointerException

这是我的代码:

import java.util.Scanner;
import java.util.Arrays;
public class DealOrNoDeal {
    public Scanner scanner;
    public static void main(String[] args) {
        new DealOrNoDeal().run();
    }
    public void run() {
        Scanner scanner = new Scanner(System.in);
        int[] values = {1, 20, 100, 1000, 2000, 5000};

        System.out.println("Please select  the suitcase that you would like to keep (1-6): ");
        int keuze = getIntBetweenBounds(1, 6);
    }
    private int getIntBetweenBounds(int lowerBound, int upperBound) {
        int result = scanner.nextInt();
        System.out.println("Please select  the suitcase that you would like to keep (1-6): ");
        while (result < lowerBound || result > upperBound) {
            System.out.println("Please select  the suitcase that you would like to keep (1-6): ");
            result = scanner.nextInt();
        }
        return result; 
    }
您在此行中重新声明扫描仪:

Scanner Scanner=新ScannerSystem.in; 卸下扫描仪,您的代码应能正常工作:

扫描仪=新的ScannerSystem.in;
空指针是由于实例变量的第一个扫描程序未初始化。您创建了一个名为scanner的局部变量,该变量的名称与名为scanner的实例变量的名称相同。

是否可以发布堆栈跟踪?堆栈跟踪是什么意思?如果更改scanner scanner=new ScannerSystem.in;by this.scanner=new ScannerSystem.in@LoekRomer堆栈跟踪是您返回的完整跟踪exception@rafa塔克斯!现在可以了!不需要发表评论。这是一个正确的答案。