这是我正在为学校作业编写的程序的一部分。 我需要的数组 pc2[ ] 只能(据我所知)在循环内分配,并且它也在循环内正确打印。但是,当我想将它传递给函数 ultra1() 时,数组 pc2[ ] 无法识别...... 如果有人有任何想法,请尽快分享。提前致谢!
void ultra()
{
String pc[]={"Inspiron 14 3000 Series","Inspiron 15 3000 Series","Inspiron 11 3000 Series","Inspiron 15 - 7000 Series"};
int bud[]={30190,28390,30990,81990,123990,186690,69990,48890,34990,38190};
String pc3[]=new String[10];
System.out.println("Please enter your maximum budget");
int max=sc.nextInt();
for(int i=0;i<4;i++)
{
if(bud[i]<=max)
{
String pc2[]={pc[i],pc[i],pc[i],pc[i]};
System.out.println(pc2[i]);
}
}
ultra1(pc2);
}
最佳答案
pc2
未在与 ultra1(pc2);
相同的范围内定义。
pc2
仅存在于此处:
{
String pc2[]={pc[i],pc[i],pc[i],pc[i]};
System.out.println(pc2[i]);
}
您可以将其定义在与 ultra1(pc2);
相同的范围内:
String pc2[];
for(int i=0;i<4;i++)
{
if(bud[i]<=max)
{
pc2[]={pc[i],pc[i],pc[i],pc[i]};
System.out.println(pc2[i]);
}
}
ultra1(pc2);
关于java - 循环内声明的数组在循环外无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26179603/