
我的TMC Java笔记
前言
之前通过某些渠道了解到MOOC.fi这个网站,我发现里面有java教程,在我学习近两周后发现效果很好。
我因此在我博客上开了一篇新文章,来记录在MOOC中学习TMC的java课程中的心得以及一些笔记。
我将官网的链接放在底下,有兴趣可以去看看。
如果看不懂英文可以搭配沉浸式翻译之类的插件来看。
Part2-Theme4
第二部分主要是For循环与方法的学习,自己花点时间For循环其实就能掌握的差不多了。
Advanced astrology
这里我简单说一下最后一个练习。Advanced astrology (高级占星术)
主要是考For循环与方法的运用,前两个部分是要求输出星星与右三角形。
打开Vscode,能发现为我们定义好了四个无返回值的静态方法。
1 | public static void printStars(int number) { |
1 | public static void printSpaces(int number) { |
1 | public static void printTriangle(int size) { |
1 | public static void christmasTree(int height) { |
第一二个的要求是打印指定数量的星星与空格,这很简单,只需要定义一个字符串使其一直加一个字符就行。
1 | public static void printSpaces(int number) { |
然后对于星星也是同理,只需要把空格换成星星即可。另外,当打印星星时需要换行,因此需要使用System.out.println。
接下来是三角形,将这个任务拆成两个部分一个是打印空格,另外一个是打印星星,注意到,首先肯定是打印空格。
接下来,我们注意到空格的数量一直在递减,而星星的数量一直在增加。
并且空格的数量永远等于size-星星数量,思考到这,我们可以发现。
只需要来个for循环,内部的变量一直递增,并将其设定为星星的数量即可。
1 | public static void printTriangle(int size) { |
那么为什么不用size = size -a?因为这样会改变size的总量,第一次循环时size是3,那么第二次就是3-a,会导出打出的形状像鬼。
分为两个部分,树枝与树干,我们先看树枝部分。
接下来就是最后一个,这个当时卡了我蛮久,但是最后解决非常简单,依靠于星星和空格的数学关系,给出下表。
| 数量 | 空格 | 星星 |
|---|---|---|
| 3 | 1 | |
| 2 | 3 | |
| 1 | 5 | |
| 0 | 7 |
简单发现空格的数量永远等于height-当前行数,假设我们来个for循环,那么for循环内递增的变量就是当前行数。
接着,我们来看星星,1,3,5,7?这几把不是奇数合集吗?
不难发现这些星星永远等于当前行数*2-1,所以我们可以开始动手了
1 | public static void christmasTree(int height) { |
OK,编译之后发现这就是我们需要的效果。
接下来就是树干部分,观察树干,我们不难发现,树干部分永远为三,并且永远居中,那么主要的变量就是空格。
这个空格我们发现,其实就是等于`height-2`,即树干永远和第二行的树枝在一条直线上。
那还说啥了,直接写。
1 | public static void christmasTree(int height) { |
OK!打完收工!提交满分咯!




