为什么我得到的可能有损转换从双到int
错误,我如何修复它?
public class BinSearch {
public static void main(String [] args)
{
double set[] = {-3,10,5,24,45.3,10.5};
double l = set.length;
double i, j, first, temp;
System.out.print("Before it can be searched, this set of numbers must be sorted: ");
for (i = l-1; i>0; i--)
{
first=0;
for(j=1; j<=i; j++)
{
if(set[j] < set[first]) // location of error according to compiler
{
first = j;
}
temp = set[first];
set[first] = set[i];
set[i] = temp;
}
}
}
}
如您所见,在声明变量时,我已经尝试将int
替换为顶部附近的double
,但它似乎不起作用。
如下所示更改变量类型。数组索引必须为int类型。
public class BinSearch {
public static void main(String [] args)
{
double set[] = {-3,10,5,24,45.3,10.5};
int l = set.length;
double temp;
int i, j, first;
System.out.print("Before it can be searched, this set of numbers must be sorted: ");
for ( i = l-1; i>0; i--)
{
first=0;
for(j=1; j<=i; j++)
{
if(set[j] < set[first])//location of error according to compiler
{
first = j;
}
temp = set[first];
set[first] = set[i];
set[i] = temp;
}
}
}
}
数组/循环索引应该是int,而不是double。
例如,当试图访问set[j]
时,它会抱怨将j视为int。
将所有用作数组索引的变量从双更改为int(即变量j
,first
,i
)。数组索引是整数。
我正在尝试Java9功能JShell。我无法设置浮点值:
问题内容: 我已经定义了数组gx,数组arr为短型。但是为什么左边的运算可能会以int类型结束,而我必须将其转换为short?编译器错误可能是从int到short的有损转换。 这是我的代码。 } 那是因为所谓的拆箱吗?因此,这意味着我每次进行手术时都需要进行投射吗? 问题答案: 它不是开箱;这是“二进制数值提升”。 JLS的第5.6.2节规定: 当运算符将二进制数字提升应用于一对操作数时,每个操作
我试图用java将十六进制数据写入我的串口,但是现在我不能将十六进制数据转换成字节数组。 以下是显示错误消息的代码: 这是写入串行端口的代码: 我能知道如何解决这个问题吗?目前我正在使用javax.comm插件。谢谢。
问题内容: 为什么会收到错误,我该如何解决? 如您所见,在声明变量时,我已经尝试过用顶部附近的位置进行替换,但是似乎并没有完成任务。 问题答案: 更改使用数组索引从double到INT所有变量(即变量,,)。数组索引是整数。
所以我最近写了以下代码: 当我尝试使用cmd运行它时,它一直显示以下内容: 有人能帮我解释一下我犯的错误吗?
我有一个问题,我必须把公里转换成英里。我是一个新手程序员,所以请原谅我。 这是我到目前为止的代码: 它给我一个错误提示: