问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 算法题 急!

发布网友 发布时间:2022-05-16 01:49

我来回答

5个回答

热心网友 时间:2023-10-08 21:17

private static void printArray(int n) {
int[][] a = new int[n][n];
int row = 0;
int col = 0;
int tempRow = 0;
int tempCol = 0;
boolean isButtom = false;
for (int i = 1; i <= n * n; i++) {
a[row][col] = i;
//类似贪吃蛇,但他只沿最外边走。
//如果不在无数据的矩阵的底部,则尝试的第一个方向为上
if (!isButtom) {
tempRow = row - 1;
if (tempRow >= 0 && a[tempRow][col] == 0) {
row = tempRow;
continue;
}
}

//尝试向右
tempCol = col + 1;
if (tempCol < n && a[row][tempCol] == 0) {
col = tempCol;
isButtom = false;
continue;
}

//尝试向下
tempRow = row + 1;
if (tempRow < n && a[tempRow][col] == 0) {
row = tempRow;
isButtom = false;
continue;
}

//尝试向左
tempCol = col - 1;
if (tempCol >= 0 && a[row][tempCol] == 0) {
col = tempCol;
isButtom = true;
continue;
}

//尝试向上
tempRow = row - 1;
if (tempRow >= 0 && a[tempRow][col] == 0) {
row = tempRow;
isButtom = false;
continue;
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(a[i][j] + "\t");
}
System.out.println();
}
}

热心网友 时间:2023-10-08 21:17

class ArrayPrint {
private int N;
private int array[][];

public ArrayPrint() {
N = 5;
array = new int[N][N];
}
public ArrayPrint(int n) {
N = n;
array = new int[N][N];
}
public void print() {
int i = 0, j = 0, i0 = 0, j0 = 0, count = 10, Num = N-1;
while(Num > 0) {
for(i=i0, j=j0;j<Num; j++,count++) {
array[i][j] = count;
}
for(i=i0; i<Num; i++,count++) {
array[i][j] = count;
}
for(j=Num; j>j0; j--,count++) {
array[i][j] = count;
}
for(i=Num; i>i0; i--,count++) {
array[i][j] = count;
}
i0++;
j0++;
Num--;
}
if(N%2 != 0) { //这里是判断当为奇数矩阵时,输出矩阵中间的值
array[N/2][N/2] = count;
}
for(i=0; i<N; i++) {
for(j=0; j<N; j++) {
String ar = "0";
if(array[i][j]/10 < 1) { //判断当为1位数时,空两格输出
ar = " " + array[i][j];
}
else if(array[i][j]/100 < 1 && array[i][j]/10 >= 1) { //判断当为两位数时,空一格输出
ar = " " + array[i][j];
}
System.out.print(ar + " ");
}
System.out.println();
}
}
public static void main(String args[]) throws Exception {
int order = 0;
System.out.println("Please enter the order of the square(<10)");
order = System.in.read();
order = order - '0';
ArrayPrint myArray = new ArrayPrint(order);
myArray.print();
}
}
这个程序就是,不过输入的n值不能大于10,想要10以上的,楼主可以自己改,很简单的。
其中count是输出的值,这个程序是从10开始的,如果楼主想要从1开始,把count的初值改为1即可。
满意请采纳,如有疑问,请继续追问!!

热心网友 时间:2023-10-08 21:18

while (true) {
try {
System.out.println("请输入一个正整数:");
Scanner input = new Scanner(System.in);//接受输入
int n= Integer.valueOf(input.next());
int[][] array = new int[n][n];
int row = 0, col = 0;//row行,col列
for (int i = 1; i <= n* n; i++) {//转换成二位数组,保存
array[row][col] = i;
col++;//控制列
if (inpt == col) {//控制行
row++;
col = 0;
}
}
for (int i = 0; i < n; i++) {//输出
for (int j = 0; j < n; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
break;
} catch (Exception e) {
System.out.println("你输入的不是数字,请输入数字");
}
}
看大家都写的好多,看的有点眼花

热心网友 时间:2023-10-08 21:18


我去。。看错了。。。还是看上楼答案吧

热心网友 时间:2023-10-08 21:19

这么简单的规则都看不出么?追问简单 你不能写出来?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
word文档怎么设置页码word怎么从中间开始设置页码 《祖宗模拟器》如何长寿长寿技巧分享 祖宗模拟器答案大全,你知道吗。 祖宗模拟器答案大全,哪位有? 宝石种类分为哪几类? 表格怎么自动排序号excel表格中自动生成序号技巧 表格如何自动排序仅需4步让Excel表格自动排序的方法 1.5匹富士空调电脑板开机就烧保险丝 为什么 修空调只是把拆了个压敏电阻,虽然可以运行,但这样没问题吗? 1.5富士空调电脑板一通电就烧保险丝为什么 java算法题,帮忙解释下! java算法题,有会算的帮小弟解决下 一道JAVA算法题目 Java算法题:判断并输出101-200中所有素数,代码中单等号与双等号的区别? java算法题?急 请教两个java 算法题 JAVA算法题,你做的出来吗? Java算法练习题 豆腐和西红柿可以放一块吃吗? java算法题(在现等,急) 豆腐可以和百合炒番茄酱吗 离职转行怎么写求职简历 我怎么进不了QQ聊天室? 小中风的疾病发展 什么叫小中风 这样算是小中风吗?(急) 小中风能不能痊愈? 关于轻微中风,急! 小中风和中风分别是什么? 小中风和中风有什么区别 java 算法题,求思路求解方法 java 一道算法题 深圳招商银行住房公积金预约电话 深圳住房公积金服务热线人工服务怎么老是说前面还有多少个人在排队,打了一个早上都是这么说的!郁闷! 罗成死的是哪一集 新 隋唐英雄里面罗成是哪一集死的!求具体集数 热带水果都上火吗? 电视剧 隋唐英雄传里,罗成是哪一集死的? 深圳市住房公积金管理中心人工热线电话怎么一直没人接听? 深圳住房公积金提取预约电话是多少 求“深圳市住房公积金管理中心”办公室电话,不是86366999,因为86366999一直无人接听。 我的情况化疗五次行吗? 什么情况下化疗四次放弃治疗,相信要是有参百益一定不会轻易放弃治疗的对吧? 新隋唐英雄传 罗成死是第几集 化疗了5次后,副作用太大,想停止可以吗 张卫健隋唐英雄 罗成第几集战死的?? 已经做了三次化疗了,以后不再做可以吗 张卫健版电视剧《隋唐英雄》罗成在哪一集死的,怎么死的? 我得了白血病己经化疗过两次,我现在不想化疗了,我想光吃中药,因为我上两次化疗抢救过好几次,太痛苦了 罗成怎么死的,在第几集