转圈数 java
来源:互联网 发布:单证研究生有用吗 知乎 编辑:程序博客网 时间:2024/05/16 20:57
package 转圈数;
import java.util.ArrayList;
/**
*
* @author Administrator
*/
public class 转圈数 {
static ArrayList<Integer> printal = new ArrayList<Integer>();
public static void main(String[] args) {
//设置n值
int n = 10;
//数组初始化
for (int i = n * n * n; i > 0; i--) {
printal.add(-1);
}
int x = 0;//坐标
int y = 0;//坐标
int sum = 0;//加和
int flag = 0; //方向
for (int i = n * n; i > 0; i--) {
if (printal.get(x + y * n) == -1 && x < n && y < n) {
printal.set(x + y * n, sum++);
//向前移动一个地方
if (flag == 0) {
x++;
}
if (flag == 1) {
y++;
}
if (flag == 2) {
x--;
}
if (flag == 3) {
y--;
}
} else {//方向归零
if (flag == 3) {
flag = -1;
}
flag++;
i++;//帮助这个计数器返回
//返回的向前走
if (flag == 0) {
x++;
}
if (flag == 1) {
y++;
}
if (flag == 2) {
x--;
}
if (flag == 3) {
y--;
}
//错误的向后退
if (flag == 0) {
y++;
}
if (flag == 1) {
x--;
}
if (flag == 2) {
y--;
}
if (flag == 3) {
x++;
}
}
}
//输出
int h = 0;
int point = 0;
for (int p : printal) {
System.out.printf("%5d", p);
if (++point == n * n) {
break;
}
if (++h == n) {
h = 0;
System.out.println();
}
}
}
}
import java.util.ArrayList;
/**
*
* @author Administrator
*/
public class 转圈数 {
static ArrayList<Integer> printal = new ArrayList<Integer>();
public static void main(String[] args) {
//设置n值
int n = 10;
//数组初始化
for (int i = n * n * n; i > 0; i--) {
printal.add(-1);
}
int x = 0;//坐标
int y = 0;//坐标
int sum = 0;//加和
int flag = 0; //方向
for (int i = n * n; i > 0; i--) {
if (printal.get(x + y * n) == -1 && x < n && y < n) {
printal.set(x + y * n, sum++);
//向前移动一个地方
if (flag == 0) {
x++;
}
if (flag == 1) {
y++;
}
if (flag == 2) {
x--;
}
if (flag == 3) {
y--;
}
} else {//方向归零
if (flag == 3) {
flag = -1;
}
flag++;
i++;//帮助这个计数器返回
//返回的向前走
if (flag == 0) {
x++;
}
if (flag == 1) {
y++;
}
if (flag == 2) {
x--;
}
if (flag == 3) {
y--;
}
//错误的向后退
if (flag == 0) {
y++;
}
if (flag == 1) {
x--;
}
if (flag == 2) {
y--;
}
if (flag == 3) {
x++;
}
}
}
//输出
int h = 0;
int point = 0;
for (int p : printal) {
System.out.printf("%5d", p);
if (++point == n * n) {
break;
}
if (++h == n) {
h = 0;
System.out.println();
}
}
}
}
效果
run:
0 1 2 3 4 5 6 7 8 9
35 36 37 38 39 40 41 42 43 10
34 63 64 65 66 67 68 69 44 11
33 62 83 84 85 86 87 70 45 12
32 61 82 95 96 97 88 71 46 13
31 60 81 94 99 98 89 72 47 14
30 59 80 93 92 91 90 73 48 15
29 58 79 78 77 76 75 74 49 16
28 57 56 55 54 53 52 51 50 17
27 26 25 24 23 22 21 20 19 18成功构建 (总时间: 2 秒)
- 转圈数 java
- java ‘转圈’打印二维数组
- Java Swing 创建转圈的进度提示框
- 转圈圈
- 转圈游戏
- 转圈进度条
- 转圈游戏
- 转圈游戏
- 转圈游戏
- 转圈游戏
- 转圈算法
- 转圈打印矩阵或者生成转圈矩阵
- 生活就是转圈...
- iOS转圈进度条
- 今天转圈问题
- Android ProgressDialog 转圈圈
- 转圈数数淘汰
- wikioi 3285 转圈游戏
- addFieldError与addActionError的区别
- 为什么硬链接不能指向目录 --转载
- 金庸小说中的八大经典战役回顾
- struts2获取request,session,application4种方式
- python替换文件中的配置值
- 转圈数 java
- 【Perl读书笔记】读取标准输入
- Struts2的properties文件
- VB加零函数
- 自己的银行系统1
- Struts2的异常处理机制
- 第1课 创建第一个 Ultimate Grid 程序
- [Leetcode] Unique Binary Search Trees
- Struts2的国际化,中英文切换