详细讲解用特殊符号画字的代码,不是吃饱了撑着。。。循环和封装的概念都在里面!
来源:互联网 发布:淘宝店铺手机端代码 编辑:程序博客网 时间:2024/05/16 19:36
public class Name { /*因为在汉字笔画中,横竖撇捺就可以组成一个汉字了,所以在这里只需要初始化之后调用横竖撇捺四个方法 * 就可以画出自己的名字中的字了,也可以设置x的宽度来画出自己的全部名字,我比较懒 * 这种考细节的我就不多讲了,就只画了一个酷字出来! */ final String s1="□"; //这里是定义你需要的字符串,一个为空心方,一个是实心方 final String s2="■"; final int x=40; //这里定义的是行数和列数,用来实现对应的字符的排列 final int y=40; String a[][]=new String[x][y]; //这里就是正式定义数组,数组的大小就通过上面的x和y决定 void printOut(){ //这里是输出这个数组,因为是一行一行的输出,所以x的循环再里面,先循环 for(int i=0;i<y;i++){ //这个是y的循环,在x循环完一次之后,y加1 for(int j=0;j<x;j++){ //在y每加1的时候,循环一整个x的元素 System.out.print(a[i][j]); //这是输出语句 } System.out.println(); //这是换行,用于输出完一行之后换行再输出下一行 } } void setE(){ //这个是用来初始化所有的数组元素为空心方 for(int i=0;i<y;i++){ for(int j=0;j<x;j++){ a[i][j]=s1; //和上面输出一样的循环,只不过这个是循环设值 } } } void setB(){ //这个是用来设置边框,把四条边都变成实心方 for(int i=0;i<y;i++){ a[0][i]=s2; //所以下面的四条边都是设置成s2也就是实心方 a[y-1][i] = s2; a[i][y-1] =s2; a[i][0] =s2; } } void setX(int y,int beginX,int endX){ //这个是用来画一横 for(int i=beginX-1;i<endX-1;i++){ //y轴不变,x有范围,提供起始的x和结束的x就可以画一横了 a[y-1][i]=s2; } } void setY(int x,int beginY,int endY){//这个是用来画一竖 for(int i=beginY-1;i<endY-1;i++){ //x轴不变,y有范围,提供起始的y和结束的y就可以画一横了 a[i][x-1]=s2; } } void setW(int x,int y){//这个是用来画一撇 for(int i=x;i<x+3;i++){ a[i][y]=s2; //因为撇和捺从左往右x都是增加的,有区别的就是y轴 //撇从左往右y是减少的,所以y--; y--; } } void setV(int x,int y){ for(int i=x;i<x+3;i++){ a[i][y]=s2; //而这个从左往右y是增加的,所以y++; y++; } }}
每个注释我都尽量的写的明白,当然必须得有点java基础才能看的明白的。
下面是主方法的类:
public class Test { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Name name=new Name(); //创建一个封装好的类的对象来调用 name.setE(); name.setB(); //初始化对象,并且画出边框 name.setX(6, 4, 17); name.setY(4, 12, 34); name.setX(12, 4, 16); name.setY(16, 12, 34); name.setY(8, 7, 24); name.setY(11, 7, 24); name.setX(24, 5,9); name.setX(24,11, 17); name.setX(29,6, 15); name.setX(34, 4,17); //这里是通过设值画出左边的偏旁 name.setY(23, 6, 12); name.setW(11,21); name.setX(10, 23, 37); name.setX(18, 19, 38); name.setY(29, 6, 18); //这里是画出右边的上面部分 name.setX(22, 20, 37); name.setX(34, 20, 37); name.setY(20, 22, 35); name.setY(37, 22, 35); //这里是画出右边的下面部分 name.printOut(); //然后调用打印方法,打印出我们的二维数组对象 }}
在编程的时候,尽量面向对象,哪样主方法就不会显得很复杂,出现了bug也不知道哪里出错,主方法简单的话,修改起来也容易很多。这个是面向对象编程的最大好处之一了,如果没有学会封装的话,面向对象的编程也会显得很复杂而不知从何修改的!
0 0
- 详细讲解用特殊符号画字的代码,不是吃饱了撑着。。。循环和封装的概念都在里面!
- 关于用特殊号打印字的代码,我不是吃饱了撑着的。。。
- [原]吃饱了撑的
- 今天吃饱了撑着的重要决定
- 自尊就是吃饱了撑的-莫言
- 莫言:自尊就是吃饱了撑的
- 我的工作邮箱 ( 工作内容都在里面了 )
- Kotlin编写Servlet(吃饱了撑的吧。。)
- 封装Okhttp(Gson一起封装在里面减少了解析的操作)
- java:封装的概念和代码
- 找工作经历--生活的味道都在里面
- 很不错的故事!!ERP的东西全在里面了,和大家分享!
- java初学都必须懂得的概念(用代码说明)
- 好久没有来csdn.net了,放下技术几年了,现在还是想找点感觉。为了在里面找回代码的回忆。
- UITableView讲解,算是很详细的了
- 你想要的画全在里面
- 【笔记】《通俗详细地讲解什么是P和NP问题》的概念记录
- cuda代码范例(循环)详细讲解
- c++-赋值与初始化的区别
- Call for Papers IEEE/ACM ASONAM (Social Network Analysis and Mining )
- JAVA笔记 变量的使用规则
- LeetCode: Add Binary
- Android开源项目第一篇——个性化控件(View)篇
- 详细讲解用特殊符号画字的代码,不是吃饱了撑着。。。循环和封装的概念都在里面!
- java.sql.SQLException: Before start of result set解决方法
- Qt应用程序支持中文字符显示
- 随机数发生器
- iOS开发中的单元测试(二)
- linux开启swap(磁盘缓存)操作
- OC中NSString 的常用方法
- Android.mk文件概述
- begin+3