所以基本上我有一个静态类,它返回一个新制作的列表,我需要做的是在main方法中使用它来打印所述列表的每个元素。我得到了错误,无法解决blablabla变量,我想这意味着我尝试使用的列表尚不可用。认为在这里添加最后一行以及视觉效果可能是一个好主意。 给出的错误代码是“b无法解析为变量”。
public class A5P5 {
public static int[] teine(int arv, int alum, int ylem) {
int [] b = new int[arv];
for (int i = 0; i < arv; i++) {
double k = Math.random() * (ylem-alum) + alum;
int l = (int)k;
b[i] = l;
}
return b;
}
public static void main(String[] args) {
int [] a = new int[10];
for (int i = 0; i < 10; i++) {
double x = Math.random() * (110-50) + 50;
int y = (int)x;
a[i] = y;
}
for (int elem: a) {
System.out.println(elem);
}
System.out.println("----------------------------------------------------");
teine(20, 20, 40);
for (int elem: b) {
System.out.println(elem);
}
}
}
答案 0 :(得分:0)
尝试:
...<delete teine(20, 20, 40);>...
for (int elem: teine(20, 20, 40)) {...
你必须分配从上面的方法返回的值,所以替代方案是:
int[] b = teine(20, 20, 40);
for (int elem: b) {...
答案 1 :(得分:0)
您无法访问b
,因为它是teine
方法中的本地变量,因此在main中不起作用:
teine(20, 20, 40);
for (int elem: b) {
System.out.println(elem);
}
但是,因为teine返回你的b
,你可以这样做:
for (int elem: teine(20, 20, 40)) {
System.out.println(elem);
}
答案 2 :(得分:0)
要启动它不是List它是一个数组。它们完全不同。
现在谈谈你的问题。你在main中创建一个新的int数组,但没有用任何东西填充它(根据规范)每个元素的值都是0。
您需要实际调用并分配数组。 int[] a = teine(arv, alum, ylem)
将是您开始推进计划的好地方。
我也同意@Brian Roach你可能需要了解你的基础知识。还可以尝试为变量使用更具描述性的名称。当你回到代码中并且需要调试或修改它时,它将帮助人们阅读你的代码和你自己。
答案 3 :(得分:0)
我敢打赌,编译错误与此行有关:
for (int elem: b) {
提示:
您认为哪个b
是指?
此时b
方法中声明的tiene
超出范围。具体而言,当b
的调用完成时,变量tiene
超出范围。