怎么用java数组输出如下数组

12910254381124567122316151413221718192021规律我知道,我就是不知道怎么写算法... 1 2 9 10 25
4 3 8 11 24
5 6 7 12 23
16 15 14 13 22
17 18 19 20 21
规律我知道,我就是不知道怎么写算法
展开
 我来答
pieryon
2015-07-16 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166872
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
实现距阵的输出需要利用java中的二位数组,举例如下:
public class ArrayTest {
private int[][] array;
public void matrix(int n){//生成距阵
array = new int[n][n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
//求出第一行
if(i==0){
//求出奇数位的值,偶数位的值为左边元素加1
if(j%2==0){
array[i][j]=(j+1)*(j+1);
}else{
array[i][j]=array[i][j-1] + 1;
}
}
//求出第一列
else if(j==0){
if(i%2==1){
array[i][j]=(i+1)*(i+1);
}else{
array[i][j]=array[i-1][j] + 1;
}
}else{
if(i>j){
//寻找规律
//偶数位为为此行第一个元素+j
//奇数位为此行第一个元素-j
if(i%2==0){
array[i][j]=array[i][0] + j;
}else{
array[i][j]=array[i][0] - j;
}
}else{
if(j%2==0){
array[i][j]=array[0][j] - i;
}else{
array[i][j]=array[0][j] + i;
}
}
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.print(array[i][j]+" ");
}
System.out.println();
}
}
}
输出结果如下:
1 2 9 10 25
4 3 8 11 24
5 6 7 12 23
16 15 14 13 22
17 18 19 20 21
揭扰龙晨Nb
2010-12-08 · TA获得超过484个赞
知道小有建树答主
回答量:1294
采纳率:0%
帮助的人:654万
展开全部
先将这些数放到int[] a的数组中,然后for(int i=0;i<a.length;i++)遍历打印这个数组即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3bdf74d
2010-12-08 · 超过14用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:38.4万
展开全部
有两个方法 第一建立数组第二 也是我推荐的 你建立Vector容器 往里面add元素 泛型设置成整形就可以了 想add多少add多少这样显示方便很多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lazysunboy
2010-12-08 · TA获得超过150个赞
知道答主
回答量:192
采纳率:0%
帮助的人:0
展开全部
可以是可以,只是你要确定数字是连贯的,就像你例子上所示的那样。
你用一维数组存储顺序值,比如长度为25
然后转化为二维数组就是5,5对吧
然后观察规律(你知道的),每一个平方数都占据一个矩阵,比如说1~9是一个3*3的矩阵,即3的平方,而3的平方正好等于9,所以可以这样做:
每次迭代,都从一维数组里找出平方数之间的数,比如2的平方和3的平方之间的数是5,6,7,8,9,然后放入到二维数组中相应的位置就可以了。
这里有个规律:就是2的平方和1的平方间的数是2,3,4,它正好从第2列开始放(观察下偶数的平方都是这样),而3的平方是从第三行第一列开始放(奇数的平方都是如此),所以就容易了。
***********************************************************************************
另外如果一维数组的长度不等于一个整数的平方,那二维数组对应位置的值你就初始化为0吧,打印时随你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ObjectiveSS
2010-12-08
知道答主
回答量:26
采纳率:100%
帮助的人:13.3万
展开全部
先说一下你的算法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式