gpt4 book ai didi

java - BinarySearch 中的变量声明

转载 作者:行者123 更新时间:2023-11-30 10:00:01 25 4
gpt4 key购买 nike

我正在开发一个 Java 项目 BinarySearch。我正在尝试创建并初始化一个变量 mid ,它将找出中间值,但它给我一个错误,你不能在这里声明一个变量。我也用 split 声明尝试过,但没有用。这是我的一段代码:

 public static boolean binarySearch(int[] data, int target, int low, int high){
if(low>high)
return false;
else
int mid=(low + high )/2;
if(target==data[mid]);
return true;
else if(target<data[mid])
return binarySearch(data, target, low, mid - 1);
else
return binarySearch(data, target, mid + 1, high);


}

我应该怎么做才能解决这个问题?

最佳答案

当你在一个 block 中声明一个变量时,你不能从 block 外访问它,你应该从 if 中去除变量并在 if 中改变他,然后,当您使用 target==data[mid] 访问它时,程序将知道从哪里获取它。例如:

public static boolean binarySearch(int[] data, int target, int low, int high){
int mid;
if(low>high)
return false;
else
mid=(low + high )/2;
if(target==data[mid]);
return true;
else if(target<data[mid])
return binarySearch(data, target, low, mid - 1);
else
return binarySearch(data, target, mid + 1, high);


}

有关变量作用域的更多信息: Scope of Variables In Java

关于java - BinarySearch 中的变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58363485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com