Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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 为什么我不能在第38行输入itemNumber的编号_Java_Netbeans 8 - Fatal编程技术网

Java 为什么我不能在第38行输入itemNumber的编号

Java 为什么我不能在第38行输入itemNumber的编号,java,netbeans-8,Java,Netbeans 8,当用户应该为itemNumber输入一个唯一的数字时,我的代码会中断,但是NetBeans中没有显示错误,有人能帮我解释为什么会发生这种情况吗 package pre_release; import java.util.*; public class Pre_Release { public static void main(String[] args) { int numberOfItems = 0; int number; int

当用户应该为itemNumber输入一个唯一的数字时,我的代码会中断,但是NetBeans中没有显示错误,有人能帮我解释为什么会发生这种情况吗

package pre_release;
import java.util.*; 

public class Pre_Release {

    public static void main(String[] args) {
        int numberOfItems = 0;
        int number;
        int bidNumber;
        double highestBid = 0;
        Scanner userInput = new Scanner (System.in);
        Scanner userString = new Scanner (System.in); 
        Scanner userDouble = new Scanner (System.in); 
        Scanner userBuyer = new Scanner (System.in); 
        Scanner userInt = new Scanner (System.in);
        Scanner userItem = new Scanner (System.in);
        do{
            System.out.println("Please enter the the amount of items for the auction. Needs to be more than or equal to 10"); 
            numberOfItems = userInput.nextInt();
        } while(numberOfItems<10);
        String[] description = new String[numberOfItems];  
        double[] reservePrice = new double[numberOfItems];
        double[] bid = new double[numberOfItems]; 
        int[] itemNumber;
        itemNumber = null;
        int[] buyNumber = new int[numberOfItems]; 
        for(int count=0;count<numberOfItems;count++){
            System.out.println("Input a number for each item number");
            itemNumber[count] = userInt.nextInt();
        }
        for(int count=0;count<numberOfItems;count++){
            bidNumber=0;
            System.out.println("Please give your item a reserved price");
            reservePrice[count] = userDouble.nextDouble(); 
            System.out.println("Please describe your item");
            description[count] = userString.nextLine();
        }
        System.out.println("Please enter the desired item you wish to see");
        number = userInt.nextInt(); 
        for(int count2=0;count2<numberOfItems;count2++){
            if(itemNumber[count2] == number){
                System.out.println("The reserved price is" + reservePrice[numberOfItems]);
                System.out.println(description[numberOfItems]);
            }
            System.out.println("Would you like to put a bid on this item? Needs to be more than" + reservePrice[numberOfItems]);
        }
    }
}

尚未看到错误消息,但可能是因为数组引用为null而出现错误

int[] itemNumber;
itemNumber = null
要解决此问题,请将这些行替换为以下行:

int[] itemNumber = new int[numberOfItems];

哪一行是38?为什么有这么多扫描仪从System.in读取数据?这个流应该由一个扫描器处理,你将在它上调用所有下一个。。。方法。即使您正面临使用该问题的解决方案时所描述的问题,在更复杂的应用程序中使用多个扫描仪也会给您带来更多问题。您不允许破坏您的帖子。请阅读我们的服务条款和您提交问题的许可协议。