一个java作业T Tpublic class Parenthesization
{
private int[][] N;
private static int[][] C;
private int[] S;
private static int size;
private static String[] matrixNames;
public Parenthesization(int[] SV,int sizeV,int[][]NV,int[][]CV)
{
N=NV;
C=CV;
S=SV;
size=sizeV;
matrixNames=autoMatrixName();
}
public Parenthesization(int[] SV,int sizeV,int[]NV,int[]CV,String[]names)
{
matrixNames=names;
}
public int[][] getN()
{
Matrix NV = new Matrix(N);
return N;
}
public int[][] getC()
{
Matrix CV = new Matrix(C);
return C;
}
public int[] getS()
{
return S;
}
public String[] getMatrixNames()
{
return matrixNames;
}
public int getOptimalNumber(int optimalNumber)
{
return optimalNumber;
}
public void compute(int[][] sequency,int n)
{
for(int i=0;i<n-1;i++)
N[i][i]=0;
for(int b=1;b<n-1;b++)
{
int j;
for(int i=0;i<n-b-1;i++)
{
j=i+b;
N[i][j]=Integer.MAX_VALUE;
for(int k=i;k<j-1;k++){
int q=Math.min(N[i][j],N[i][k]+N[k+1][j]+S[i]*S[k+1]*S[j+1]);
if(q<N[i][j])
{
N[i][j]=q;
C[i][j]=k;
}
}
}
}
} public void printParentheses(int i,int j)
{
parentheses(i,j);
}
private static String[] autoMatrixName()
{
int i=0;
int n;
n=size;
matrixNames[i]="A"+n;
return matrixNames;
}
private String parentheses(int i,int j)
{
String s;
if(j>i)
s="("+printParentheses(i,C[i][j])+"*"+printParentheses(C[i][j]+1,j)+")";
else
//Map the index of the array to letters
s=matrixNames[i];
return s;
}
}看不出哪有错啊但是写了Demo会一直提示错误
求大神
{
private int[][] N;
private static int[][] C;
private int[] S;
private static int size;
private static String[] matrixNames;
public Parenthesization(int[] SV,int sizeV,int[][]NV,int[][]CV)
{
N=NV;
C=CV;
S=SV;
size=sizeV;
matrixNames=autoMatrixName();
}
public Parenthesization(int[] SV,int sizeV,int[]NV,int[]CV,String[]names)
{
matrixNames=names;
}
public int[][] getN()
{
Matrix NV = new Matrix(N);
return N;
}
public int[][] getC()
{
Matrix CV = new Matrix(C);
return C;
}
public int[] getS()
{
return S;
}
public String[] getMatrixNames()
{
return matrixNames;
}
public int getOptimalNumber(int optimalNumber)
{
return optimalNumber;
}
public void compute(int[][] sequency,int n)
{
for(int i=0;i<n-1;i++)
N[i][i]=0;
for(int b=1;b<n-1;b++)
{
int j;
for(int i=0;i<n-b-1;i++)
{
j=i+b;
N[i][j]=Integer.MAX_VALUE;
for(int k=i;k<j-1;k++){
int q=Math.min(N[i][j],N[i][k]+N[k+1][j]+S[i]*S[k+1]*S[j+1]);
if(q<N[i][j])
{
N[i][j]=q;
C[i][j]=k;
}
}
}
}
} public void printParentheses(int i,int j)
{
parentheses(i,j);
}
private static String[] autoMatrixName()
{
int i=0;
int n;
n=size;
matrixNames[i]="A"+n;
return matrixNames;
}
private String parentheses(int i,int j)
{
String s;
if(j>i)
s="("+printParentheses(i,C[i][j])+"*"+printParentheses(C[i][j]+1,j)+")";
else
//Map the index of the array to letters
s=matrixNames[i];
return s;
}
}看不出哪有错啊但是写了Demo会一直提示错误
求大神
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货