【发布时间】:2015-11-12 03:36:41
【问题描述】:
我正在编写一个课程,其中包含发送问题的方法,该问题从我计算机中存储的 txt 文件中检索到。
我的编译器在 's=op[qno][op];' 行不断抛出错误(从底部开始的第四行)说“需要数组但找到了 int”。我什至没有尝试返回数组,为什么我会看到这个?我该如何纠正?
打包计算机项目;
import java.util.*;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public final class Questions
{
String q[]=new String[30];
String op[][]=new String[55][5];
int ord[][]=new int[20][5];
Questions()throws FileNotFoundException,IOException
{
initArray();
setOrder();
}
void initArray()throws FileNotFoundException,IOException
{
BufferedReader br=new BufferedReader(new FileReader("C:\\Users\\mansoor\\Desktop\\Quiz\\Qs.txt"));
for(int i=0;i<55;i++)
{
q[i]=br.readLine();
op[i][0]=br.readLine();
System.out.print(op[i][0]);
op[i][1]=br.readLine();
op[i][2]=br.readLine();
op[i][3]=br.readLine();
op[i][4]=br.readLine();
}
}
void setOrder()
{
Random r=new Random();
for(int i=r.nextInt(55),j=0;j<40;j++,i++)
{
ord[j][0]=i%55;
}
for(int i=44;i!=0;i--)
{
int a=r.nextInt(40);
int b=r.nextInt(40);
int t=ord[a][0];
ord[a][0]=ord[b][0];
ord[b][0]=t;
for(int s[]=setRandomOrder(),j=0;j<4;j++)
{
ord[i][j]=s[j];
}
}
}
int[] setRandomOrder()
{
Random r=new Random();
int ar[]={0,1,2,3};
for(int i=0;i<16;i++)
{
int a=r.nextInt(4),b=r.nextInt(4),t;
t=ar[a];
ar[a]=ar[b];
ar[b]=t;
}
return ar;
}
String sendQuestion(int qno)
{
return q[qno];
}
String sendCorrectAnswer(int qno)
{
return op[qno][4];
}
int[] randomOrder()
{
Random r=new Random();
int ar[]=new int[4];
for(int i=0;i<16;i++)
{
int a=r.nextInt(4);
int b=r.nextInt(4);
int t=ar[a];
ar[a]=ar[b];
ar[b]=t;
}
return ar;
}
String[] sendOption(int qno,int op)
{
String s[]=new String[4];
for(int i=0;i<4;i++)
{
s[i]=op[qno][i];
}
return op[qno];
}
}
【问题讨论】:
-
你有一个名为
op的参数;String[] sendOption(int qno,int op)
标签: java arrays compiler-errors