Java 为什么我不能在第38行输入itemNumber的编号
当用户应该为itemNumber输入一个唯一的数字时,我的代码会中断,但是NetBeans中没有显示错误,有人能帮我解释为什么会发生这种情况吗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
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读取数据?这个流应该由一个扫描器处理,你将在它上调用所有下一个。。。方法。即使您正面临使用该问题的解决方案时所描述的问题,在更复杂的应用程序中使用多个扫描仪也会给您带来更多问题。您不允许破坏您的帖子。请阅读我们的服务条款和您提交问题的许可协议。