- 浏览: 35614 次
- 性别:
- 来自: 北京
最新评论
-
ccr1988:
shenhuawei18 写道为什么要配制工程下面的web.x ...
tomcat配置JNDI -
shenhuawei18:
为什么要配制工程下面的web.xml?不配制有问题吗?
tomcat配置JNDI -
阿拉丁没有神灯:
哎 菜鸟的我看不懂哎,看完一遍 脑子空空的
jvm解析一(基本概念) -
you12070520:
jvm解析一(基本概念) -
crazyboy1688:
:ide
为什么重写equals方法需要重写hashcode方法?
Java 根据输入的值动态的画出各种五角星同时控制其大小(利用星号),主要实体的,空心的,平移的,利用for循环对初学者有一定的帮助。可以通过输入n(n>3)动态的控制五角星的大小,下面是完整代码和显示结果:
public class WJXUtils { /** * @param args */ public static void main(String[] args) { //实体五角星 // createWJXS(4); // 实体五角星平移 // createWJXSY(4,2,1); //空心五角星移动(星星外面也是空心) // createWJXKY(4,6,6); //空心五角星 // createWJXK(6); //空心外部区域全部显示星星的空心 //createWJXKS(8); //空心外部区域全部显示星星的空心的五角星平移 createWJXKSY(4,6,7); } //K表示区域总共4个,i表示行,j表示列 空心 public static void createWJXK(int n){ int i,i21,i22,i3,i4,j,j2,j21,j22,j3,j4,k=0; int m2=0; int m3=0; for( k=1;k<=4;k++){ //part 1 if(k==1){ for( i=0;i<n;i++){ //最大列数为6*n for( j=0;j<6*n;j++){ if((j<3*n-i+1&&j>=3*n-i )||(j<=3*n+i&&j>3*n+i-1) ){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } } if(k==2){ //part 2 for(j2=1;j2<=6*n+1;j2++){ if((j2<=2*n+1)||(j2>4*n&&j2<=6*n)){ System.out.print("*"); }else{ System.out.print(" "); } } for( i21=n+1;i21<n+2;i21++){ System.out.println(); for( j21=0;j21<6*n;j21++){ if((j21>=3&&j21<4)||(j21>6*n-4&&j21<=6*n-3)){ System.out.print("*"); }else{ System.out.print(" "); } } } for( i22=n+2;i22<n+3;i22++){ System.out.println(); for( j22=0;j22<=6*n;j22++){ if((j22>=5&&j22<6)||( j22>6*n-6&&j22<=6*n-5)){ System.out.print("*"); }else{ System.out.print(" "); } } } } if(k==3){ //part 3 for( i3=0;i3<n-3;i3++){ System.out.println(); for(j3=0;j3<6*n;j3++){ if((j3>5+m2&&j3<=5+m2+1)||((j3>=6*n-(5+m2)-1)&&j3<(6*n-(5+m2)))){ System.out.print("*"); }else{ //显示该部分中间那个点 if(i3==n-4&&j3==3*n){ System.out.print("*"); }else{ System.out.print(" "); } } } m2++; } } if(k==4){ //part4 for( i4=0;i4<n-1;i4++){ System.out.println(); for( j4=0;j4<6*n;j4++){ if((j4>=n+1-m3&&j4<n+2-m3)||(j4>=3*n-3-3*m3&&j4<3*n-2-3*m3)||((j4>3*n+2+3*m3)&&j4<=3*n+2+3*m3+1)||(j4>5*n+m3-2&&(j4<=5*n+m3-1))){ System.out.print("*"); }else{ System.out.print(" "); } } m3++; } } } } //K表示区域总共4个,i表示行,j表示列 里面空心外面全部实心 public static void createWJXKS(int n){ int i,i21,i22,i3,i4,j,j2,j21,j22,j3,j4,k=0; int m2=0; int m3=0; for( k=1;k<=4;k++){ //part 1 no change if(k==1){ for( i=0;i<n;i++){ //最大列数为6*n for( j=0;j<6*n;j++){ if((j<3*n-i+1&&j>=0 )||(j<=6*n&&j>3*n+i-1) ){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } } if(k==2){ //part 2 for(j2=1;j2<=6*n+1;j2++){ if((j2<=2*n+1)||(j2>4*n&&j2<=6*n)){ System.out.print("*"); }else{ System.out.print(" "); } } for( i21=n+1;i21<n+2;i21++){ System.out.println(); for( j21=0;j21<6*n;j21++){ if((j21>=0&&j21<4)||(j21>6*n-4&&j21<=6*n)){ System.out.print("*"); }else{ System.out.print(" "); } } } for( i22=n+2;i22<n+3;i22++){ System.out.println(); for( j22=0;j22<=6*n;j22++){ if((j22>=0&&j22<6)||( j22>6*n-6&&j22<=6*n-1)){ System.out.print("*"); }else{ System.out.print(" "); } } } } if(k==3){ //part 3 for( i3=0;i3<n-3;i3++){ System.out.println(); for(j3=0;j3<6*n;j3++){ if((j3>=0&&j3<=5+m2+1)||((j3>=6*n-(5+m2)-1)&&j3<=6*n)){ System.out.print("*"); }else{ //显示该部分中间那个点 if(i3==n-4&&j3==3*n){ System.out.print("*"); }else{ System.out.print(" "); } } } m2++; } } if(k==4){ //part 4 for( i4=0;i4<n-1;i4++){ System.out.println(); for( j4=0;j4<6*n;j4++){ if((j4>=0&&j4<n+2-m3)||(j4>=3*n-3-3*m3&&j4<=3*n+2+3*m3+1)||(j4>5*n+m3-2&&(j4<=6*n))){ System.out.print("*"); }else{ System.out.print(" "); } } m3++; } } } } //K表示区域总共4个,i表示行,j表示列 实心 public static void createWJXS(int n){ int i,i21,i22,i3,i4,j,j21,j22,j3,j4,k=0; int m2=0; int m3=0; for( k=1;k<=4;k++){ //part 1 if(k==1){ for( i=0;i<n;i++){ System.out.println(); //最大列数为6*n for( j=0;j<6*n;j++){ if(j<=3*n+i&&j>=3*n-i){ System.out.print("*"); }else{ System.out.print(" "); } } } } if(k==2){ //part2 System.out.println(""); for(i=1;i<=6*n+1;i++){ System.out.print("*"); } for( i21=n+1;i21<n+2;i21++){ System.out.println(); for( j21=0;j21<6*n;j21++){ if(j21>=3&&j21<=6*n-3){ System.out.print("*"); }else{ System.out.print(" "); } } } for( i22=n+2;i22<n+3;i22++){ System.out.println(); for( j22=0;j22<=6*n;j22++){ if(j22>=5&&j22<=6*n-5){ System.out.print("*"); }else{ System.out.print(" "); } } } } if(k==3){ //part 3 for( i3=0;i3<n-3;i3++){ System.out.println(); for(j3=0;j3<6*n;j3++){ if(j3>5+m2&&j3<6*n-(5+m2)){ System.out.print("*"); }else{ System.out.print(" "); } } m2++; } } if(k==4){ //part 4 for( i4=0;i4<n-1;i4++){ System.out.println(); for( j4=0;j4<6*n;j4++){ if((j4>=n+1-m3&&j4<3*n-2-3*m3)||((j4>3*n+2+3*m3)&&(j4<=5*n+m3-1))){ System.out.print("*"); }else{ System.out.print(" "); } } m3++; } } } } //K表示区域总共4个,i表示行,j表示列 里面空心外面全部实心 五角星移动 public static void createWJXKSY(int n,int x_0,int y_0){ int i,i21,i22,i3,i4,j,j2,j21,j22,j3,j4,k=0; int m2=0; int m3=0; int x,y=0; //向下移动 for( x=0;x<x_0;x++ ){ for(y=0;y<6*n+2*y_0;y++){ System.out.print("*"); } System.out.println(); } for( k=1;k<=4;k++){ //part 1 no change if(k==1){ for( i=0;i<n;i++){ //最大列数为6*n for( j=0;j<6*n+2*y_0;j++){ if((j<3*n-i+1+y_0&&j>=0 )||(j<=6*n+2*y_0&&j>3*n+i-1+y_0) ){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } } if(k==2){ //part 2 for(j2=1;j2<=6*n+1+2*y_0;j2++){ if((j2<=2*n+1+y_0)||(j2>4*n+y_0&&j2<=6*n+2*y_0)){ System.out.print("*"); }else{ System.out.print(" "); } } for( i21=n+1;i21<n+2;i21++){ System.out.println(); for( j21=0;j21<6*n+2*y_0;j21++){ if((j21>=0&&j21<4+y_0)||(j21>6*n-4+y_0&&j21<=6*n+2*y_0)){ System.out.print("*"); }else{ System.out.print(" "); } } } for( i22=n+2;i22<n+3;i22++){ System.out.println(); for( j22=0;j22<=6*n+2*y_0;j22++){ if((j22>=0&&j22<6+y_0)||( j22>6*n-6+y_0&&j22<=6*n-1+2*y_0)){ System.out.print("*"); }else{ System.out.print(" "); } } } } if(k==3){ //part 3 for( i3=0;i3<n-3;i3++){ System.out.println(); for(j3=0;j3<6*n+2*y_0;j3++){ if((j3>=0&&j3<=5+m2+1+y_0)||((j3>=6*n-(5+m2)-1+y_0)&&j3<=6*n+2*y_0)){ System.out.print("*"); }else{ //显示该部分中间那个点 if(i3==n-4&&j3==3*n+y_0){ System.out.print("*"); }else{ System.out.print(" "); } } } m2++; } } if(k==4){ //part 4 for( i4=0;i4<n-1;i4++){ System.out.println(); for( j4=0;j4<6*n+2*y_0;j4++){ if((j4>=0&&j4<n+2-m3+y_0)||(j4>=3*n-3-3*m3+y_0&&j4<=3*n+2+3*m3+1+y_0)||(j4>5*n+m3-2+y_0&&(j4<=6*n+2*y_0))){ System.out.print("*"); }else{ System.out.print(" "); } } m3++; } } } } //K表示区域总共4个,i表示行,j表示列 可以移动的五角星(实体) X表示距离上面大小,Y表示距离左面大小 public static void createWJXSY(int n,int x_0,int y_0){ int i,i21,i22,i3,i4,j,j21,j22,j3,j4,k=0; int x,y=0; int m2=0; int m3=0; //向下移动 for( x=0;x<x_0;x++ ){ System.out.println(); } for( k=1;k<=4;k++){ //part 1 if(k==1){ for(i=0;i<n;i++){ //最大列数为6*n for( j=0;j<6*n+y_0;j++){ if(j<=3*n+i+y_0&&j>=3*n-i+y_0){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } } if(k==2){ //part 2 for(i=1;i<=6*n+1+y_0;i++){ if(i>y_0){ System.out.print("*"); }else{ System.out.print(" "); } } for( i21=n+1;i21<n+2;i21++){ System.out.println(); for( j21=0;j21<6*n+y_0;j21++){ if(j21>=3+y_0&&j21<=6*n-3+y_0){ System.out.print("*"); }else{ System.out.print(" "); } } } for( i22=n+2;i22<n+3;i22++){ System.out.println(); for( j22=0;j22<=6*n+y_0;j22++){ if(j22>=5+y_0&&j22<=6*n-5+y_0){ System.out.print("*"); }else{ System.out.print(" "); } } } } if(k==3){ //part 3 for( i3=0;i3<n-3;i3++){ System.out.println(); for(j3=0;j3<6*n+y_0;j3++){ if(j3>5+m2+y_0&&j3<6*n-(5+m2)+y_0){ System.out.print("*"); }else{ System.out.print(" "); } } m2++; } } if(k==4){ //part 4 for( i4=0;i4<n-1;i4++){ System.out.println(); for( j4=0;j4<6*n+y_0;j4++){ if((j4>=n+1-m3+y_0&&j4<3*n-2-3*m3+y_0)||((j4>3*n+2+3*m3+y_0)&&(j4<=5*n+m3-1+y_0))){ System.out.print("*"); }else{ System.out.print(" "); } } m3++; } } } } //K表示区域总共4个,i表示行,j表示列 空心平移(外面也是空心) public static void createWJXKY(int n,int x_0,int y_0){ int i,i21,i22,i3,i4,j,j2,j21,j22,j3,j4,k=0; int m2=0; int m3=0; int x=0; //整个区域分正4个部分,也就是把原来的第2部分拆分成2个,这样更加好看 //向下移动 for( x=0;x<x_0;x++ ){ System.out.println(); } for( k=1;k<=4;k++){ //part 1 no change if(k==1){ for( i=0;i<n;i++){ //最大列数为6*n for( j=0;j<6*n+y_0;j++){ if((j<3*n-i+1+y_0&&j>=3*n-i+y_0 )||(j<=3*n+i+y_0&&j>3*n+i-1+y_0) ){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } } if(k==2){ //part 2 for(j2=1;j2<=6*n+1+y_0;j2++){ if((j2<=2*n+1+y_0&&j2>y_0)||(j2>4*n+y_0&&j2<=6*n+y_0)){ System.out.print("*"); }else{ System.out.print(" "); } } for( i21=n+1;i21<n+2;i21++){ System.out.println(); for( j21=0;j21<6*n+y_0;j21++){ if((j21>=3+y_0&&j21<4+y_0)||(j21>6*n-4+y_0&&j21<=6*n-3+y_0)){ System.out.print("*"); }else{ System.out.print(" "); } } } for( i22=n+2;i22<n+3;i22++){ System.out.println(); for( j22=0;j22<=6*n+y_0;j22++){ if((j22>=5+y_0&&j22<6+y_0)||( j22>6*n-6+y_0&&j22<=6*n-5+y_0)){ System.out.print("*"); }else{ System.out.print(" "); } } } } if(k==3){ //part 3 for( i3=0;i3<n-3;i3++){ System.out.println(); for(j3=0;j3<6*n+y_0;j3++){ if((j3>5+m2+y_0&&j3<=5+m2+1+y_0)||((j3>=6*n-(5+m2)-1+y_0)&&j3<(6*n-(5+m2)+y_0))){ System.out.print("*"); }else{ //显示该部分中间那个点 if(i3==n-4&&j3==3*n+y_0){ System.out.print("*"); }else{ System.out.print(" "); } } } m2++; } } if(k==4){ //part 4 for( i4=0;i4<n-1;i4++){ System.out.println(); for( j4=0;j4<6*n+y_0;j4++){ if((j4>=n+1-m3+y_0&&j4<n+2-m3+y_0)||(j4>=3*n-3-3*m3+y_0&&j4<3*n-2-3*m3+y_0)||((j4>3*n+2+3*m3+y_0)&&j4<=3*n+2+3*m3+1+y_0)||(j4>5*n+m3-2+y_0&&(j4<=5*n+m3-1+y_0))){ System.out.print("*"); }else{ System.out.print(" "); } } m3++; } } } } public static void crearWJXDemo(int n){ System.out.print("\n "); int i,j,k; //part 1 for(i=1;i<=n;i++) { for(j=1;j<=3*n-i+1;j++) System.out.print(" "); for(k=1;k<=2*i-1;k++) System.out.print("*"); System.out.println(" "); } //part 2 for(i=1;i<=6*n+1;i++) System.out.print("*"); System.out.print("\n "); for(i=1;i<=6*n-5;i++) System.out.print("*"); System.out.print("\n "); for(i=1;i<=6*n-9;i++) System.out.print("*"); System.out.print("\n"); //part 3 for(i=1;i<=n-3;i++){ for(j=1;j<=5+i;j++) System.out.print(" "); for(k=1;k<=6*n-9-2*i;k++) System.out.print("*"); System.out.print("\n"); } //part 4 for(i=1;i<=n-1;i++) { for(j=1;j<=n+2-i;j++) System.out.print(" "); for(k=1;k<=2*n-2*i-1;k++) System.out.print("*"); for(j=1;j<=6*i-1;j++)System.out.print(" "); for(k=1;k<=2*n-2*i-1;k++) System.out.print("*"); System.out.print("\n"); } } }各种显示结果如下:
发表评论
-
java枚举
2013-10-31 11:16 841枚举的出现主要是为了解决变量过度循环问题。 下面将通过2个枚举 ... -
java 匿名内部类
2013-10-30 15:09 1985匿名内部类的结构有以下2种: new interfacen ... -
String,StringBuffer,StringBuilder比较
2012-04-27 15:45 1200String,StringBuffer,StringBuild ... -
String类内存解析
2012-04-27 14:38 1119String是java常用类中最重 ... -
为什么重写equals方法需要重写hashcode方法?
2012-04-27 12:07 3386SUN(ORACLE),JDK源码中这样表达: * ... -
java I/O
2012-04-04 23:12 958在具体分析某一种流的前要先知道下面一些信息: 4个抽象类也 ... -
深析java集合(Collection,Map)
2012-03-19 19:35 1313网上看见很多类似 ... -
hash,hashcode,HashTable,HashSet,HashMap的用法
2012-03-18 17:13 1749hash 也叫做“散列”, ... -
java 静态代理和动态代理
2012-03-01 17:59 947代理:就是用代理类实现委托类的一些功能和附加的预处理功能(包括 ... -
java位运算
2012-02-23 16:06 1196java位运算主要是用来对二进制进行操作,主要的位运算包 ...
相关推荐
"Java动态五角星绘制" Java是当今最流行的编程语言之一,在图形绘制方面也有着广泛的应用。本文将基于Java语言,实现动态五角星的绘制,并对其进行详细的讲解。 首先,让我们了解一下什么是五角星。五角星是一种...
java生成带五角星的印章(白底红字),支持输出多种数据类型
第二部分则是使用Java Swing图形界面库绘制一个五角星。 ### 第一部分:使用递归算法在控制台打印五角星 #### 代码分析 这段代码通过递归函数 `count` 来计算每一行中需要打印的“*”的数量,并通过循环结构来控制...
这个教程将带你了解如何利用Canvas进行基本的绘图操作,包括画线、位移和旋转,以及如何巧妙地绘制出五角星图案。无需复杂的数学计算,只需理解Canvas的基本变换原理,你就可以轻松实现这一目标。 首先,Canvas提供...
总结起来,画五角星和直线不仅是图形学的基础练习,也是理解和掌握计算机图形学的重要步骤。通过这个过程,学生可以深化对几何形状、编程、算法和图形库的理解,为更复杂的图形学概念打下坚实的基础。
我们可以先画出一个正五边形,然后从每个顶点向内偏移一半边长得到另一个五边形,这样两个五边形的交集就是五角星。 ```swift let centerX = bounds.midX let centerY = bounds.midY let sideLength = bounds.width...
本主题将深入探讨如何在Android中实现一个自定义控件来绘制五角星。首先,我们需要理解五角星的基本几何构造,然后利用Android的Canvas API来实现这个功能。 五角星是由两个相交的等边三角形构成的图形,每个三角形...
在计算机图形学中,`Graphics` 是一个非常重要的概念,特别是在编程领域,它涉及到如何在屏幕上绘制各种元素,...通过实践和理解这些基本概念,你可以创建出各种复杂的图形,不仅仅是五角星,还有其他任意形状和图案。
在计算机图形学中,创建五角星是一种常见的练习,它涉及到点、线和几何变换的知识。这个"五角星的实现程序"是一个个人完成的图形学作业,旨在帮助学习者理解基本的图形绘制原理和编程技巧。下面我们将深入探讨这个...
JAVA编写的,可绘制出多个彩色五角星围成的一个环形~
本案例中,"star.rar_五角星" 文件压缩包显然与绘制五角星图形有关,它提供了实现自动画出五角星的代码或者算法。我们将探讨五角星的数学原理、计算机图形学中的绘制方法以及可能的编程实现。 五角星,顾名思义,是...
五角星是一种常见的几何形状,它的绘制在各种图形设计、编程教程以及计算机科学教育中都是一个基础且有趣的课题。 五角星通常由五条相交的直线段组成,每两条相邻的直线段之间的角度为72度。在编程中,我们可以利用...
这段代码将画出一个大小为100像素的五角星,每次旋转144度(因为360除以5等于72,而180减去72得到144)。 5. **颜色和大小的改变**:在编程中,我们可以轻松地修改五角星的颜色和大小。颜色可以通过设置图形对象的...
- **五角星型**:五角星的绘制相对复杂,可以使用`Path.lineTo()`方法沿着五角星的各个顶点移动,形成一个闭合的路径。 4. **画框与边框**: 要为图像添加边框,我们需要在绘制形状之后,先保存画布状态(`canvas...
使用jdk的绘图工具来绘制印章,该代码中只绘制了圆形印章,印章中的内容包括公司名称、中间的五角星以及印章的类型
Android Studio实现随机位置画10个随机大小的五角星的代码 Android Studio是一个功能强大且流行的集成开发环境(IDE),广泛应用于 Android 应用程序的开发。今天,我们将讨论如何使用Android Studio实现随机位置画...
在Android开发中,对图像进行各种形状的转换是常见的需求,比如制作圆角图片、圆形图片甚至是五角星等特殊形状。"glide-transformations"是一个强大的库,它为Glide——一个流行的Android图片加载库——提供了丰富的...
在"五角星.rar_java3D 坐标"这个资源中,我们主要探讨的是如何利用Java3D技术来绘制一个3D五角星,并且关注的重点在于理解五角星各顶点的坐标计算及其在3D空间中的表示。 首先,我们要了解Java3D的基本概念。Java3D...
"这个示例演示异形按钮 圆形 五角星 螺旋形 箭头 的用法"是一个很好的实践,它展示了如何利用自定义视图和图形绘制技术来实现非标准形状的按钮。下面我们将深入探讨这些知识点。 1. **自定义视图**:在Android中,...