实现等边三角形的方法很多,我这里使用了其中的一个方法,我的实现思路是:将等边三角形补全成一个矩形,一共分成四块实现红线中两块,0补全和*,蓝线中两块,0补全和*,红线中0从第0层到第4层分别是4,3,2,1,0个;红线中的*从0层到4层分别是1,2,3,4,5个;蓝线中*从0到4层分别是0,1,2,3,4个;蓝线中0从0到4层分别是4,3,2,1,0个。写这个的目的不是为了实现等边三角形,而是为了传递一个思想,就是我们要把一个貌似很难找到规律的东西分解成若干个有规律的部分,然后转换成程序实现。这样对于我们处理一个复杂的问题很有帮助。
实心等边三角形:
public static void main(String[] args) {
int n = 5;
String c = "0";
String x = "*";
for (int i = 0; i < n; i++) {
for (int k = 0; k < n - i - 1; k++) {
System.out.print(c);
}
for (int k = 0; k < i + 1; k++) {
System.out.print(x);
}
for (int k = 0; k < i; k++) {
System.out.print(x);
}
/**
* 一下注释掉的代码属于多余的代码,本程序只需要分成三块实现
*/
// for (int k = 0; k < n - i - 1; k++) {
// System.out.print(c);
// }
System.out.println();
}
}
空心等边三角形:
public static void main(String[] args) {
int n = 6;
String c = " ";
String x = "*";
for (int i = 0; i < n; i++) {
for (int j = 0; j < 2 * n; j++) {
if (j == (n - i) || j == (n + i)) {
System.out.print(x);
} else {
System.out.print(c);
}
}
System.out.println();
}
for(int j=0;j<2*(n+1)-1;j++){
System.out.print(x);
}
}
倒等边三角形:
public static void main(String[] args) {
int n = 5;
String c = " ";
String x = "*";
for(int j=0;j<2*(n+1)-1;j++){
System.out.print(x);
}
System.out.println();
for (int i = 0; i < n; i++) {
for (int j = 0; j < 2 * n; j++) {
if (j == i+1 || j == (2*n - i-1)) {
System.out.print(x);
} else {
System.out.print(c);
}
}
System.out.println();
}
}
将0替换成空格就是一个等边三角形了!
- 大小: 3.3 KB
分享到:
相关推荐
- **标题**:“Java小练习,Java练习小程序,Java必用”表示这是一系列针对Java初学者的练习题目。 - **描述**:“50java小练习 java小练习,Java练习小程序,Java必用”进一步强调了这些练习的重要性,并指出了练习...
根据给定的信息,我们可以分析出该程序主要涉及Java编程语言中的基本概念以及...综上所述,这段代码通过几个简单的类实现了对三角形、梯形和圆形的面积和周长的计算,涵盖了Java编程的基础概念和面向对象的设计思想。
- Java程序设计涉及顺序结构、选择结构(if、switch等)和循环结构(while、do-while、for等)。 - 掌握如何使用这些结构是进行复杂逻辑编程的关键。 - 实际编程时需要利用这些结构来控制程序的流程和数据的处理...
在Java中,我们可以使用`String`类的方法,如`toUpperCase()`和`toLowerCase()`来转换大小写。对于金额的处理,可能需要处理小数点和逗号分隔符,这可以通过正则表达式或自定义逻辑实现。此外,还需要了解货币格式的...
标题 "ACM 算法实现 Java语言" 涉及到的是计算机科学中的算法设计与实现,特别是针对ACM(国际大学生程序设计竞赛)竞赛的算法问题。在这个领域,Java作为一种面向对象的编程语言,因其高效、稳定和丰富的类库而被...
- **实现思路**:利用回溯算法的思想,生成给定数字的所有可能排列组合。 #### 练习题14:闰年判断 - **知识点**: - 闰年的定义及判断规则。 - 条件判断语句的应用。 - **实现思路**:根据闰年的定义,使用条件...
在本Java程序练习题实训作业中,我们主要探讨如何利用面向对象编程的原理来构建类和对象,以解决实际问题。这些题目涵盖了基础的几何图形(平行四边形和三角形)的描述、任务选择机制的实现、面积计算以及一个模拟...
综上所述,二维碰撞检测小程序涉及到的知识点包括:多边形几何、碰撞检测理论(分离轴定理、包围盒检测)、动态碰撞检测策略、以及实际编程实现中的数据结构和算法。理解并掌握这些知识点,将有助于我们创建出功能...
【标签】:微信小程序 文档资料 小程序 cs 【部分内容】:实验报告详细介绍了如何进行Java程序开发环境的配置,包括JDK的下载与安装、环境变量的设置,以及Eclipse集成开发环境的使用。此外,还包含了对Java面向对象...
**题目描述**: 编写程序实现对给定的4个整数从大到小的顺序排列。 **知识点**: 这个题目涉及到基本的排序算法,如冒泡排序、选择排序等。在Java中可以通过循环和条件判断来实现。对于简单的四个数排序,可以使用...
快速排序是一种高效的交换排序,其基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序。 9. **...
【Java实验代码】这个主题包含了四个Java编程实验,主要涵盖了基础的数据运算、循环逻辑、递归计算以及面向对象编程的概念。 1. **百鸡百钱问题**:这是一个经典的数学问题,通过编程解决。代码中使用两个嵌套的for...
- **快速排序**:选择一个基准元素,将数组分为两部分,一部分比基准小,另一部分比基准大,然后递归地对这两部分进行排序。 - **设计要求** - **泛型支持**:使用泛型技术,使得排序算法能够处理任何类型的对象...
程序用于打印星号组成的等腰三角形,三角形的行数由变量i控制。外层循环控制行数,内层循环控制每行的空格数量,再内层循环控制每行的星号数量。根据题目提示,若要改变行数,只需要修改外层循环的最大值即可。 4. ...
为了激发学生的编程兴趣,在编程教学中可以讲授或者布置一些关于动画、图形、游戏等的程序,例如要求编程画出圆、三角形等图形,实现游动字幕,实现数字或指针式时钟,实现具有四则运算功能的计算器等实用小程序,并...
在 Picasso 项目中,递归三角形通过不断地将大三角形分割成更小的三角形,形成一种多层次、色彩斑斓的效果,呈现出类似像素化闪烁的视觉体验。 ** 递归三角形的实现原理 ** 在 Processing 中,我们可以使用 `...
Java流程控制语句是编程中不可或缺的部分,它们决定了程序中代码的执行顺序和逻辑。本章将深入探讨Java中的各种流程控制语句,包括语句概述、分支语句、循环语句以及转移语句。 首先,Java语言的语句可以分为多种...
【Java算法经典案例】涉及了多个经典的算法问题,包括河内之塔、费式数列、巴斯卡三角形以及三色棋。这些算法都是计算机科学中的基础和重要组成部分,不仅在理论研究中占有重要地位,也在实际编程和解决问题中有着...