我的二维数组具体的个数在键盘输入,怎么在输入n和m的值后调用函数,谢谢
5条回答 默认 最新
- crazy_monky 2017-03-22 03:37关注
原先还没注意,原来你的s()方法里面本来就有错误,会导致数组越界。如果n=5,m=6,你取值顶多只能取a[4][5],而你直接把n和m传进去了。
毛病太多了,你可以把代码修改一下:
public class AA{//类名最好还是用大写代替,养成好习惯
int n,m;
int a[][];
public AA(Scanner in){
n = in.nextInt();
m = in.nextInt();
a = new int[n][m];
}
public void s(){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
a[i][j]=1;
System.out.println(a[i][j]);//这样就会输出好多1了。
}
}
}public void main(String[] args){ Scanner in = new Scanner(System.in); AA aa = new AA(in); aa.s(); }
}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 用visual studi code完成html页面
- ¥15 聚类分析或者python进行数据分析
- ¥15 逻辑谓词和消解原理的运用
- ¥15 三菱伺服电机按启动按钮有使能但不动作
- ¥15 js,页面2返回页面1时定位进入的设备
- ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
- ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?