`

告诉你什么是优雅的代码

    博客分类:
  • Java
J# 
阅读更多
请投新手帖。
size = 5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9



public class MagicCircle {
	int [][] numberCircle;
	int size;
	int n = 1;	
	public MagicCircle(int size){
		this.size = size;
		numberCircle = new int[size][size];
	}
	public void draw(){
		circle(0);
	}
	public void print(){
		for (int i = 0; i < size; i++) {
			for (int j = 0; j < size; j++) {
				System.out.print(numberCircle[i][j] + "\t");
			}
			System.out.println();
		}
	}
	
	public void circle(int start){	
		int end = size - start;
		//  |----->
		for(int i = start ; i < end; i++){
			numberCircle[start][i] = n++;
		}

		if(start + 1 >= end ){
			return;
		}
		// ---
		//  |
		//  |
		//  v
		for(int i = start + 1 ; i < end; i++){
			numberCircle[i][end-1] = n++;
		}
		// <-----|
		for(int i = end-2 ; i >= start; i--){
			numberCircle[end-1][i] = n++;
		}
		// ^
		// |
		// |
		//---
		for(int i = end-2 ; i >= start + 1; i--){
			numberCircle[i][start] = n++;
		}		
		circle(start+1);	
	}
	
	public static void main(String[] args) {
		int size = 5;
		MagicCircle demo = new MagicCircle(size);
		demo.draw();
		demo.print();
	}
}




分享到:
评论
2 楼 Shengli_fu 2015-06-24  
1 楼 waykingeye 2010-09-30  
学习ing。。。

相关推荐

    告诉你什么是优雅的代码(11)----html5 之XXOO棋

    在本篇博客中,我们将探讨HTML5在创建优雅代码方面的应用,特别是针对XXOO棋游戏。XXOO棋,通常也被称作井字游戏,是一个简单但有趣的两人对弈游戏,通过HTML5可以轻松实现网页版。 首先,HTML5是现代Web开发的标准...

    告诉你什么是优雅的代码(9)----山寨版猜珍珠

    NULL 博文链接:https://yangguo.iteye.com/blog/778866

    告诉你什么是优雅的设计(2)--------重构EasyMonitor

    优雅的设计在IT行业中通常指的是那些高效、可维护且具有良好用户体验的解决方案。在这篇文章的第二部分,我们将深入探讨如何通过重构EasyMonitor实现优雅设计的概念。EasyMonitor可能是一个监控工具,用于收集系统或...

    这个是源程序代码

    源程序代码是计算机科学中的核心元素,它是程序员用特定编程语言编写的一系列指令,用于告诉计算机执行特定任务。源码未经编译或解释,人类可读,但计算机无法直接执行。在你提供的信息中,"dy-50(通用dy-20)"可能...

    PCshare源代码合集,最终版本源代码

    在IT领域,源代码是软件开发的基础,它是程序员用编程语言编写的原始指令集合,用于告诉计算机如何执行特定任务。"PCshare"显然是一款针对个人计算机(PC)设计的共享软件,其源代码合集则包含了整个软件开发的所有...

    代码之美(中文完整版).pdf

    第14章 优雅代码随硬件发展的演化 14.1. 计算机体系结构对矩阵算法的影响 14.2 一种基于分解的方法 14.3 一个简单版本 14.4 LINPACK库中的DGEFA子程序 14.5 LAPACK DGETRF 14.6递归LU 14.7 ScaLAPACK PDGETRF 14.8 ...

    ICO图标制作软件源代码.zip

    源代码是程序员用特定编程语言(如C++、Python、Java或C#)编写的指令,这些指令告诉计算机如何执行特定任务。在这个案例中,任务是读取用户提供的图像数据,将其转换为ICO格式,并可能提供编辑工具来调整大小、添加...

    第03章 理解什么是写代码与Python的基本类型

    了解并熟练掌握这些基本类型和操作是学习Python编程的基础,通过不断地练习和应用,你可以更深入地理解Python的精髓,进而编写出高效、优雅的代码。在实际项目中,合理选择和使用数据类型对于优化代码性能、提高代码...

    石头,剪刀,布的源代码

    【石头,剪刀,布游戏源代码解析】 ...通过对这段代码的阅读和理解,你可以深入学习上述的编程概念,并将其应用到其他更复杂的项目中。此外,这也是一个很好的机会去实践调试、优化和增强代码的技巧。

    spring源代码

    Spring框架是Java开发中不可...通过深入研究Spring的源代码,你可以学习到设计模式的应用,如工厂模式、单例模式、代理模式等,以及如何优雅地处理并发、线程安全等问题。这将极大地提高你的编程水平和解决问题的能力。

    漂亮的触发行变色代码.rar

    在描述中,“漂亮的触发行变色代码”进一步强调了这个特效的美观性,意味着它可能采用了优雅的动画过渡或者精心设计的颜色搭配,使得色彩变化不仅有趣,而且赏心悦目。 标签“JS特效-颜色背景”为我们提供了更精确...

    Easymock mock 异常处理的模拟代码

    这段代码告诉Easymock,当调用`myClassMock.doSomething()`时,应抛出一个`RuntimeException`,而不是执行实际的方法逻辑。 接下来,我们需要使用`replay()`方法激活模拟对象,这样它就会按照我们预设的行为运行: ...

    通过实践编写优雅的JavaScript代码

    优雅的代码应该是自解释的,即代码的每一部分都应该能够清晰地告诉阅读者它的功能和目的。在编写代码时,应当注意代码的可读性,避免复杂的逻辑嵌套和过度使用三元运算符等可能影响代码清晰度的操作。 ### 易于修改...

    WPF Control DataTemplate 查看器(源代码)

    `DataTemplate`就是这种关联的桥梁,它告诉WPF如何将数据转换为用户可以交互的视觉元素。`DataTemplate`可以用于各种UI元素,如`ListBox`、`ListView`、`GridView`等,当它们需要显示绑定的数据时。 `DataTemplate`...

    C++逃跑按钮程序源代码

    在IT行业中,源代码是程序员的心血结晶,它是一系列编程指令,用于告诉计算机执行特定任务。本资源涉及的是一个名为"C++逃跑按钮程序"的源代码,这通常指的是一个用C++编程语言编写的软件模块,其功能可能是为了实现...

    refractor使用Prism轻量级强大优雅的虚拟语法高亮显示

    "JavaScript开发-代码高亮" 这个标签告诉我们,Refractor和Prism可能主要用于JavaScript开发环境,特别是对于代码展示和阅读的场景,如文档、教程或者在线编辑器。代码高亮是开发者日常工作中常见的一种需求,它能够...

    Node.js-ora-优雅的终端转轮

    例如,在部署应用时,你可以显示一个转轮,告诉用户系统正在进行准备工作、下载依赖、打包代码等。这样,用户就能清晰地看到进度,而不会因为无响应而感到困惑。 总的来说,Ora是Node.js开发者在创建命令行工具时的...

    条码打印机打印源代码

    这可能涉及到发送特定的命令集,如ESC/POS指令集,告诉打印机如何打印。 4. **图形绘制**: 在某些情况下,可能需要使用GDI+(Graphics Device Interface Plus)来在内存中绘制条形码图像,然后将其发送到打印机。 ...

    Clearbox图片浏览特效代码

    这里,`&lt;a&gt;`标签链接到大图,`rel="clearbox"`告诉JavaScript这是一个Clearbox链接。 2. **CSS样式**: `css`目录下的样式文件(可能是`clearbox.css`)包含了用于创建Clearbox界面的样式规则。这包括悬浮窗口的...

    UITableView2 Demo代码

    这个"UITableView2 Demo代码"很显然是一个示例项目,旨在演示如何实现UITableView的一些高级特性,包括缩进、附属视图(Accessory Views)以及自定义Cell。 首先,我们来探讨`UITableView`的基本概念。UITableView...

Global site tag (gtag.js) - Google Analytics