Java实现回形数,只利用数组、循环和if-else语句
import java.util.Scanner;
public class learn {
public static void main(String[] args){
System.out.println("请输入你需要打印多少阶的回形数:");
Scanner scan = new Scanner(System.in);
int num = scan.nextInt(); // 接收num,则打印num阶的回形数
scan.close();
int[][] hui = new int[num][num];
for(int i = 0,j = 0,flag = 0,theNum = 1; theNum<=(num*num);) { // i可视为二维数组的第i+1排,j可视为二维数组的j+1列;flag表示回形数进行的第flag+1圈;theNum为赋的值。
if(j<num-flag) { //回形数向右走时
hui[i][j] = theNum;
j++;
theNum++;
}
else if(i+1<num-flag) { //回形数向下走时
hui[i+1][j-1] = theNum;
theNum++;
i++;
}
else {
for(int m = num-flag-1,n = num -flag-1;;) {
if(n>flag) { //回形数向左走时
n--;
hui[m][n] = theNum;
theNum++;
}
else if(m>flag+1) { //回形数向右走时
m--;
hui[m][n] = theNum;
theNum++;
}
else {
i = flag+1;
j = flag+1;
flag++;
break;
}
}
}
}
for(int a = 0;a<num;a++) {
for(int b = 0;b<num;b++) {
System.out.printf("%d ",hui[a][b]);
}
System.out.println("\n");
}
}
}
Java实现回形数,只利用数组、循环和if-else语句的更多相关文章
- java中的栈(利用数组实现栈)
java中的栈(利用数组实现栈) 常见的数据结构:https://blog.csdn.net/weixin_43304253/article/details/119764275 栈的介绍 1.栈的英文 ...
- 【Java】回形数
回形数 键盘读入一个整数n(1-20),以n为矩阵大小,把1,2,3,4,5-按顺时针螺旋的形式填入. import java.util.Scanner; public class HuiXingSh ...
- IP访问频率限制不能用数组循环插入多个限制条件原因分析及解决方案
14.IP频率限制不能用数组循环插入多个限制条件原因分析及解决方案: define("RATE_LIMITING_ARR", array('3' => 3, '6' => ...
- 习题两则的简化(利用for循环)
习题一.打印26个英文字母 public class PrintChars { public static void main(String[] args) { char ch = 'a'; int ...
- 【Java】 剑指offer(56-1) 数组中只出现一次的两个数字
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程 ...
- Java利用数组随机抽取幸运观众
编写程序,事先将所有观众姓名输入数组,然后获得数组元素的总数量,最后在数组元素中随机抽取元素的下标,根据抽取的下标获得幸运观众的姓名. 思路如下: 定义输入框的按键事件,使用KeyEvent类的get ...
- Java实现 LeetCode 457 环形数组循环
457. 环形数组循环 给定一个含有正整数和负整数的环形数组 nums. 如果某个索引中的数 k 为正数,则向前移动 k 个索引.相反,如果是负数 (-k),则向后移动 k 个索引.因为数组是环形的, ...
- Java基础四(switch、数组、)
1.流程控制语句switch2.数组3.随机点名器案例 ###01switch语句解构 * A:switch语句解构 * a:switch只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码. ...
- Java编程思想学习(十二) 数组和容器
一.数组 1).数组的多种初始化方式 下面总结了初始化数组的多种方式,以及如何对指向数组的引用赋值,使其指向另一个数组对象.值得注意的是:对象数组和普通数组的各种操作基本上都是一样的:要说有什么不同的 ...
随机推荐
- RSA公钥私钥原理及作用
RSA算法广泛应用与加密与认证两个领域 1.加密(保证数据安全性) 使用公钥加密,需使用私钥解密. 这种广泛应用在保证数据的安全性的方面,用户将自己的公钥广播出去,所有人给该用户发数据时使用该公钥加密 ...
- 洛谷 P2615 神奇的幻方 题解
每日一题系列day1 打卡 Analysis 水货模拟,不多说了 #include<iostream> #include<cstdio> #include<cstring ...
- /etc/inittab
# inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON ...
- 使用HttpClient调用WebAPI接口,含WebAPI端示例
API端: using log4net; using System; using System.Collections.Generic; using System.IO; using System.L ...
- train loss和test loss
train loss 不断下降,test loss不断下降,说明网络仍在学习;(最好的)train loss 不断下降,test loss趋于不变,说明网络过拟合;(max pool或者正则化)tra ...
- 神经网络模型(Backbone)
自己搭建神经网络时,一般都采用已有的网络模型,在其基础上进行修改.从2012年的AlexNet出现,如今已经出现许多优秀的网络模型,如下图所示. 主要有三个发展方向: Deeper:网络层数更深,代表 ...
- JMeter_控制器执行效果_给自己挖过的坑
线程及循环设置: 数据文件中放在“循环控制器”中的执行效果:每条数据执行5次,取够50条数据时停止 简单逻辑控制器按下面的目录创建后,执行结果效果同上面循环控制器的执行效果 本来想规整下目录结构,结果 ...
- maven中的Exclusions详解
依赖关系:Project-A>Project-B>Project-C,但是Project-A不依赖Project-C,在Project-A中的POM.xml应该进行如下配置: <de ...
- android: 日期转Unix时间戳,Unix时间戳转日期,带时区
1.UTC时间&GMT时间 UTC时间是时间标准时间(Universal Time Coordinated),UTC是根据原子钟来计算时间,误差非常小. UTC也是指零时区的时间,如果要表示其 ...
- CV2——学习笔记-图像分类
1.图像分类 • 2.神经网络原理 • 1.卷积神经网络介绍 • 2.利用caffe搭建深度网络做图像分类 挑战:光照变化+形变.类内变化. 标签.预测函数,泛化能力. 如何提高泛化能力?需要用图像特 ...