A
我尝试设置2d数组start = '10/10/2018'
pd.date_range(start, periods=10, freq='W-' + pd.to_datetime(start).strftime('%a'))
DatetimeIndex(['2018-10-10', '2018-10-17', '2018-10-24', '2018-10-31',
'2018-11-07', '2018-11-14', '2018-11-21', '2018-11-28',
'2018-12-05', '2018-12-12'],
dtype='datetime64[ns]', freq='W-WED')
的大小,但始终设置为零。
这给了我一个运行时错误-第13行的数组索引超出范围:
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int row=in.nextInt();
int column=in.nextInt();
Matrix a=new Matrix(row,column);
for(int i=0;i<row;i++)
for(int j=0;j<column;j++)
a.entry[i][j]=in.nextFloat();
}
}
class Matrix{
int row,column;
Matrix(int a,int b){
row=a;
column=b;
}
float[][] entry=new float[row][column];
}
答案 0 :(得分:4)
问题是当您直接进行操作时:
float[][] entry=new float[row][column];
在Matrix
类中的,其row
和column
变量被更早地初始化为0
。 entry
的定义放在构造函数之后没关系,因为所有字段定义都在构造函数之前执行。
我们需要将用户的row
和column
传递给Matrix
类。
在entry
类的构造函数中初始化Matrix
,例如:
class Matrix{
int row,column;
float[][] entry;
Matrix(int a,int b){
row=a;
column=b;
entry=new float[row][column];
}
}