二进制搜索程序编译但不';行不通 //程序:bin搜索1.java // 导入java.util.*; B类搜索1 { 公共静态void main(字符串[]args) { 最终整数大小=50; 扫描仪控制台=新扫描仪(System.in); //声明数组 int[]item=new int[size];//数字列表 int items=0;//列表中的值数 int定位; int seekValue; //方法返回用户输入的项目数。 //用户输入–1结束输入过程。 // items=createInOrder(item); System.out.println(“元素\t\t值”); //显示当前列表 // 对于(int i=0;i=0) System.out.println(“在位置找到的元素”+位置); 其他的 System.out.println(“列表中未找到元素”); } //方法:createInOrder //此方法将使用值填充先前创建的数组 //按递增顺序。完成后,该方法将返回数字 //插入到列表中的值的数目。 // 公共静态int createInOrder(int[]n) { int i; int值=0; 整数项=0; 扫描仪控制台=新扫描仪(System.in); 而(项目=0) { System.out.print(“输入正数以插入(负数以退出):”; value=console.nextInt(); 如果(值>=0) { //插入到数组中 //步骤1-为物品找到合适的空间。 i=0; while(i

二进制搜索程序编译但不';行不通 //程序:bin搜索1.java // 导入java.util.*; B类搜索1 { 公共静态void main(字符串[]args) { 最终整数大小=50; 扫描仪控制台=新扫描仪(System.in); //声明数组 int[]item=new int[size];//数字列表 int items=0;//列表中的值数 int定位; int seekValue; //方法返回用户输入的项目数。 //用户输入–1结束输入过程。 // items=createInOrder(item); System.out.println(“元素\t\t值”); //显示当前列表 // 对于(int i=0;i=0) System.out.println(“在位置找到的元素”+位置); 其他的 System.out.println(“列表中未找到元素”); } //方法:createInOrder //此方法将使用值填充先前创建的数组 //按递增顺序。完成后,该方法将返回数字 //插入到列表中的值的数目。 // 公共静态int createInOrder(int[]n) { int i; int值=0; 整数项=0; 扫描仪控制台=新扫描仪(System.in); 而(项目=0) { System.out.print(“输入正数以插入(负数以退出):”; value=console.nextInt(); 如果(值>=0) { //插入到数组中 //步骤1-为物品找到合适的空间。 i=0; while(i,java,Java,而言,错误在于“top”的初始化: 试试这个: public static int binSearch (int[] arrayName, int items, int seekItem ) { int bottom = 0; int top = arrayName.length - 1; // is always 49 要求人们发现代码中的错误是无效的。您应该使用调试器(或添加打印语句)来隔离问题,然后构造一个。您仍然在问同样的问题吗?是的,我尝试过解决它。但我不知道问题出在哪里您收到

而言,错误在于“top”的初始化:

试试这个:

public static int binSearch (int[] arrayName, int items, int seekItem ) 
{

int bottom = 0;
int top = arrayName.length - 1;  // is always 49

要求人们发现代码中的错误是无效的。您应该使用调试器(或添加打印语句)来隔离问题,然后构造一个。您仍然在问同样的问题吗?是的,我尝试过解决它。但我不知道问题出在哪里您收到了错误消息,还是它不起作用?我已经有一段时间没有使用
扫描仪了,但该错误似乎来自
控制台。close()
createInOrder()
的末尾。是的。因为
arrayName.length
是50。很好。如果这解决了您的问题,请单击左侧的“接受”按钮。谢谢。
public static int binSearch (int[] arrayName, int items, int seekItem ) 
{

int bottom = 0;
int top = arrayName.length - 1;  // is always 49
public static int binSearch (int[] arrayName, int items, int seekItem ) 
{
int bottom = 0;
int top = items - 1;