我在第18行遇到了这个错误。我不知道为什么当数组grade和变量gradeNum都是double类型时,编译器要我将变量gradeNum强制转换为int类型。免责声明:此代码远未完成。我唯一的问题是这个错误与数组grade和变量gradeNum有关。
import java.util.*;
public class Lab10{
static Scanner console = new Scanner(System.in);
static String temp = "";
static double gradeNum = 0.0;
static String temp2 = "";
public static void main(String [] args) {
System.out.println("Please enter how many grades you would like to input: ");
temp = console.nextLine();
gradeNum = Double.parseDouble(temp);
double [] grade = new double [gradeNum];
System.out.println("Okay now please enter each individual grade: ");
temp2 = console.nextLine();
} // end of main
} // end of class Lab10
您不能使用Double
来指定数组大小,根据JLS第10章,只允许非负整数值,这就是编译器希望您将DoublegradeNum
转换为int的原因。
数组中包含的变量没有名称;相反,它们由使用非负整数索引值的数组访问表达式引用。这些变量称为数组的组件。如果一个数组有n个分量,我们说n是数组的长度;使用从0到n-1(包括0和n-1)的整数索引引用数组的组件。
因此,您需要将代码改为:
static int gradeNum = 0;
....
gradeNum = Integer.parseInt(temp);
您初始化数组并必须提供不能是双整数的大小。您不能创建仅包含3.6个元素3或4个的数组。
new Double[size]
的[]
中的内容是双数组的大小。不是数组的内容。
你想这么做吗?我在这里假设大小为1,但是您可能需要根据自己的需要进行调整
double [] grade = new double[1];
grade[1] = gradeNum;
我正在修改这段代码的过程中,从一个例子从我的教科书,以兼容一个双数组。代码中有几个地方我不确定如何修复错误“不兼容类型:从double到int的转换可能有损” 我确信还有其他简单的错误我还没有找到,因为我还没有机会调试和校对代码,而且我对Java和编程也很陌生。 谢谢你的帮助!
null 谁能解释一下作为一个初学者我该如何消除这个错误。 太感谢你了!
我是Java的初学者,我已经编写了这段代码。当我尝试运行它时,它不断显示错误,例如: < li >错误:不兼容的类型:从double到int的转换可能有损耗 < li >错误:找不到符号 有人能解释一下我作为一个初学者应该如何解决这个问题吗。 太谢谢你了!
我得到这个错误的一个小箭头指向十进制整数。允许小数吗?我要写些什么才能让小数被接受?这是我的代码:
我试图为学校编写一些东西,但我不断收到这个编译错误: 错误:不兼容的类型:从int到byte的转换可能有损失 A = (字节)C / (字节)B;
我一直在运行此代码并不断收到错误,不知道为什么。双倍漂浮?继续收到消息“错误:不兼容的类型:可能的有损转换从双精度到浮点型。转换如何转换是否有任何问题,因此没有错误 这是较大代码的一部分。