我得到这个错误的一个小箭头指向十进制整数。允许小数吗?我要写些什么才能让小数被接受?这是我的代码:
public class BinarySearch {
public static final int NOT_FOUND = -1;
public static int search(int[] arr, int searchValue) {
int left = 0;
int right = arr.length - 1;
return binarySearch(arr, searchValue, left, right);
}
private static int binarySearch(int[] arr, int searchValue, int left, int right) {
if (right < left) {
return NOT_FOUND;
}
int mid = (left + right) >>> 1;
if (searchValue > arr[mid]) {
return binarySearch(arr, searchValue, mid + 1, right);
} else if (searchValue < arr[mid]) {
return binarySearch(arr, searchValue, left, mid - 1);
} else {
return mid;
}
}
}
import java.util.Arrays;
public class BinarySearchTest {
public static void main(String[] args) {
int[] arr = {-3, 10, 5, 24, 45.3, 10.5};
Arrays.sort(arr);
System.out.println(BinarySearch.search(arr, 2));
}
}
这条线
int[] arr = {-3, 10, 5, 24, 45.3, 10.5};
在main中创建了一个double数组(例如,10.5),并转换为int[]。如果您将类型更改为double[],那么一切都将正常工作。以下是要更改的行:
public static int search(int[] arr, int searchValue) {
private static int binarySearch(int[] arr, int searchValue, int left, int right)
int[] arr = {-3, 10, 5, 24, 45.3, 10.5};
我正在修改这段代码的过程中,从一个例子从我的教科书,以兼容一个双数组。代码中有几个地方我不确定如何修复错误“不兼容类型:从double到int的转换可能有损” 我确信还有其他简单的错误我还没有找到,因为我还没有机会调试和校对代码,而且我对Java和编程也很陌生。 谢谢你的帮助!
null 谁能解释一下作为一个初学者我该如何消除这个错误。 太感谢你了!
我是Java的初学者,我已经编写了这段代码。当我尝试运行它时,它不断显示错误,例如: < li >错误:不兼容的类型:从double到int的转换可能有损耗 < li >错误:找不到符号 有人能解释一下我作为一个初学者应该如何解决这个问题吗。 太谢谢你了!
我在第18行遇到了这个错误。我不知道为什么当数组grade和变量gradeNum都是double类型时,编译器要我将变量gradeNum强制转换为int类型。免责声明:此代码远未完成。我唯一的问题是这个错误与数组grade和变量gradeNum有关。
我一直在运行此代码并不断收到错误,不知道为什么。双倍漂浮?继续收到消息“错误:不兼容的类型:可能的有损转换从双精度到浮点型。转换如何转换是否有任何问题,因此没有错误 这是较大代码的一部分。
错误“不兼容的类型:从Double到int的可能有损转换。”在第15行。