【发布时间】:2018-07-06 21:34:42
【问题描述】:
我正在创建一个以图形方式显示点的 Java 程序。
坐标从 .txt 文件中读取并存储在适当类型的数组中,int[] 或 double[]。
以下代码说明了我想要什么。 (虽然它不起作用,因为Array 不是int[] 和double[] 的超类。)
//Declare local variable
Array coordinates;
//Determine data type
if(scan.hasNextInt()){
coordinates = int[10];
} else if(scan.hasNextDouble()){
coordinates = double[10];
}
我正在考虑使用多态性,如您所见,但我不知道int[] 和double[] 的超类是什么。他们的超类是什么?还是有更好的方法来进行这种条件输入?如果我使用 Object 超类来声明coordinates,那么它就不会作为数组起作用。
这是一个任务。我在这里尝试解决的细节如下:
程序读取[文本文件]的值,将它们转换为 适当的整数或双精度数,将它们内部存储在 数组。
我解释这意味着数组应该是它正在存储的类型,但也许它只是说将数组中的值存储为数值而不是原始的 String 类型...
【问题讨论】:
-
您能否详细解释一下您的问题,您愿意将从文件中读取的
int和double值存储到一个包含这两种类型的数组中吗? -
你应该使用double,不需要int类型。
-
int[]和double[]的超类是Object,并不是说它对你有任何帮助。你尝试的方法不起作用,你确定你已经正确理解了你的任务吗?您可以切换到包装类并使用Number[],但这也不是一个很好的解决方案(尽管有时老师会给出考虑不周的作业)。
标签: java arrays types conditional primitive