Java在尝试打印大数字并存储数组时报告类型不匹配异常。
我目前正在学习一些Java。我正在做的一个练习,要求我生成一些随机数,并将它们存储在一个数组中。只要我生成整数,一切都可以正常工作,使用out.print可以毫不费力地打印它们。
但是,当我生成较大的数字并试图打印它们时,Java通知我的for each循环所在行的类型不匹配。
package clases;
public class Arrays_3 {
public static void main (String [] args) {
long [] array_random=new long[150];
for (int i=0;i<array_random.length;i++) {
array_random[i]=(long)Math.round(Math.random()*100000) ;
}
for (long elemento:array_random) {
System.out.println(array_random[elemento]);
}
}
}
这是我在运行上面的代码后在Eclipse控制台上得到的错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from long to int
at clases.Arrays_3.main(Arrays_3.java:17)
第17行是System.out.print
方法所在的位置。
发布于 2019-05-28 02:43:16
我猜您正在尝试打印元素。您循环的是值(int类型),而不是index(long类型)。
for (long elemento:array_random) {
System.out.println(elemento);
}
发布于 2019-05-28 02:40:07
Elemento是一个长整型,而数组是以整数为索引的。
此外,使用for(long elemento: array)可以创建一个迭代器,该迭代器在循环的每次迭代中返回数组的一个值。因此,您可以直接打印它。
for (long elemento : array) {
System.out.println(elemento);
}
如果要查找数组的元素,则应遍历index变量
for (int idx=0;idx<array.length;idx++) {
System.out.println(array[idx]);
}
https://stackoverflow.com/questions/56330987
复制相似问题