蛇行填数

简介:
显示效果如下:
1        3        4      

2        5       8 
    

6       7        9

package   Test;
import 
 java.io.BufferedReader;
import 
 java.io.IOException;
import 
 java.io.InputStreamReader;

public   class 
 Main {
    
 public   static   void  main(String[] args)  throws 
 NumberFormatException,
            IOException {
        System.out.println(
 " 请输入数组的大小: " 
);
        BufferedReader br 
 =   new  BufferedReader( new 
 InputStreamReader(System.in));
        
 int  arraySize  = 
 Integer.parseInt(br.readLine());
        
 int [][] a  =   new   int 
[arraySize][arraySize];
        
 int  row  =   0 
;
        
 int  number  =   1 ;         //  准备填充的数字 

         int  snakeLine  =   0 ;     //  snakeLine代表斜行(蛇行)数,由于snakeLine将会用于数组下标的计算,所以从0开始计数 

         
for  (; snakeLine  <   2   *  arraySize  -   1 ; snakeLine ++  ) {
            
 if  (snakeLine  <  arraySize)  //  左上半部分 

            {
                
 if  (snakeLine  %   2   !=   0  //  奇数斜行 

                {
                    
 for  (row  =  snakeLine; row  >=   0 ; row -- 
)
                        a[row][snakeLine 
 -  row]  =  number ++ 
;
                } 
 else 
 {
                    
 for  (row  =  snakeLine; row  >=   0 ; row -- 
)
                        a[snakeLine 
 -  row][row]  =  number ++ 
;
                }
            } 
 else  {  //  右下半部分 

                 if  (snakeLine  %   2   !=   0  ) {
                    
 for  (row  =  arraySize  -   1 ; row  >  snakeLine  -  arraySize; row -- 
)
                        a[row][snakeLine 
 -  row]  =  number ++ 
;
                } 
 else 
 {
                    
 for  (row  =  arraySize  -   1 ; row  >  snakeLine  -  arraySize; row -- 
)
                        a[snakeLine 
 -  row][row]  =  number ++ 
;
                }
            }
        }

        System.out.println(
 " Result as follows:\n " 
);
        
 for  (row  =   0 ; row  <  arraySize; row ++ 
) {
            
 for  (number  =   0 ; number  <  arraySize; number ++ ) {  //  number此处作为数组的下标使用 

                System.out.print(a[row][number]  +   " \t "  );
            }
            System.out.println();
            System.out.println();
        }
    }
}
本文转自BlogJavaOo缘来是你oO的博客,原文链接: 蛇行填数,如需转载请自行联系原博主。
相关文章
|
自然语言处理 监控 搜索推荐
CAP 快速部署项目体验评测
在体验过程中,我选择了 RAG 模板,整体部署较为顺畅,CAP 平台的一键部署功能简化了配置步骤。但也遇到了环境依赖、模型加载速度和网络配置等挑战。性能测试显示响应速度较快,高并发时表现稳定。二次开发使用 Flask 和 Vue,调试顺利,功能正常运行。建议 CAP 增加 NLP、推荐系统、IoT 应用和开源项目集成等模板,以提升模板库的丰富度。
|
12月前
|
供应链 监控 数据可视化
物联网技术在物流与供应链管理中的应用与挑战
本文探讨了物联网技术在物流与供应链管理中的应用,通过实时追踪、信息共享、智能化决策等手段,大幅提升了管理效率和智能化水平。特别介绍了板栗看板作为专业可视化工具,在数据监控、分析及协同作业中的重要作用。未来,随着技术的进一步发展,物流与供应链管理将更加智能高效,但也面临数据安全、标准化等挑战。
|
数据采集 数据可视化 数据挖掘
MATLAB进行文件读取
【10月更文挑战第7天】本文介绍了如何使用MATLAB进行文件读取和数据处理,涵盖读取文本、CSV和Excel文件,数据清洗、分析及可视化方法。通过具体代码示例,展示了从数据读取到处理的完整流程,包括数据归一化、特征选择和时间序列数据处理等进阶技术。结合实际案例,帮助读者掌握MATLAB在数据分析中的应用。
|
机器学习/深度学习 边缘计算 人工智能
深入探讨云计算的未来趋势
深入探讨云计算的未来趋势
1289 14
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的深度学习模型:原理与应用
探索机器学习中的深度学习模型:原理与应用
329 0
|
安全 5G SDN
5G 网络切片:为万物互联定制专属网络
5G 网络切片:为万物互联定制专属网络
752 1
|
机器学习/深度学习 C语言
函数递归(Recursion)一篇便懂
本文详细介绍了递归的概念、C语言中的递归函数实现、递归的两个重要条件,通过实例演示了阶乘和汉诺塔问题的递归解决方案,并对比了递归与迭代的区别。作者强调了递归在特定场景下的优势和潜在问题,提示读者在实际编程中灵活选择方法。
559 0
|
机器学习/深度学习 人工智能 并行计算
StableDiffusion-01本地服务器部署服务 10分钟上手 底显存 中等显存机器 加载模型测试效果 附带安装指令 多显卡 2070Super 8GB*2
StableDiffusion-01本地服务器部署服务 10分钟上手 底显存 中等显存机器 加载模型测试效果 附带安装指令 多显卡 2070Super 8GB*2
275 0
|
机器学习/深度学习 自然语言处理 异构计算
【NLP自然语言处理】初识深度学习模型Transformer
【NLP自然语言处理】初识深度学习模型Transformer
|
云安全 存储 运维
想考阿里云ACE认证该怎么办?难不难考?
作为云计算行业的TOP级企业,阿里云认证在业界内有很高的知名度和认可度,而阿里云ACE是其中等级最高、难度最大的一个,想考这个需要做不少准备。
1793 1
想考阿里云ACE认证该怎么办?难不难考?