首页 > 编程语言 >秦疆的Java课程笔记:44 流程控制 打印三角形及Debug

秦疆的Java课程笔记:44 流程控制 打印三角形及Debug

时间:2023-11-28 15:45:44浏览次数:35  
标签:Java int 44 空格 秦疆 三角形 public 总行

  • 作业:打印5行三角形
  • 这是我写的:
public class TestDemo1 {  
    public static void main(String[] args) {  
        int line = 5;  //定义总行数line
        for (int i = 1; i <= line; i++){  //i是循环输出每一行
            for(int j = 1; j <= line-i; j++) {  //j是每行循环输出几次空格。函数关系是,j=line-i,即每行输出line-i个空格。
                System.out.print(" ");  
            }  
            for(int k = 1; k <= 2*i-1; k++) {  //k是每行循环输出几次“*”。函数关系式,k=2*i-1,即每行输出2*i-1个“*”。
                System.out.print("*");  
            }  
            System.out.println();  
        }  
    }  
}
====效果如下====
    *
   ***
  *****
 *******
*********
  • 这是秦疆老师写的:
public class TestDemo2 {  
    public static void main(String[] args) {  
        for (int i = 1; i <= 5; i++) {  //i是行数
            for (int j = 5; j >= i; j--) {  
            //输出空格位,逐行递减,4,3,2,1,0
                System.out.print(" ");  
            }  
            for (int j = 1; j<=i ; j++){  
            //输出中线及左侧的“*”,逐行递增,1,2,3,4,5
                System.out.print("*");  
            }  
            for (int j = 1; j<i; j++) {  
            //输出右侧的“*”,逐行递增,0,1,2,3,4
                System.out.print("*");  
            }  
            System.out.println();  
        }  
    }  
}
====效果如下====
     *
    ***
   *****
  *******
 *********
  • 这次到没什么思维上的盲区。只是语句功能还不熟练,反复修改了一会儿。
  • 不同在于,我多定义了一个总行数,可以直接寻找每行空格*总行数第几行的函数关系。这样无论是输出多少行的三角形,只需要修改总行数,就能完成。如果不考虑这个的话,我的代码可以再缩减1行。
  • 而秦疆老师没有定义总行数,所以后面表达空格*数量时也不涉及函数关系,单纯的数数。如果要求的三角形行数变了,他需要改两处地方。
  • 而且秦疆老师在讲述自己思路时,说是把*数量做了一次对折,分成了两半,所以才会有两个输出*的语句。其实这就是把我的一个for循环拆成了两个。
  • 也不知道哪种写法可读性更好,或者效率更高。
  • IDEA中的debug功能,略。

标签:Java,int,44,空格,秦疆,三角形,public,总行
From: https://www.cnblogs.com/Acolyte/p/17862101.html

相关文章

  • Java核心知识体系7:线程安全性讨论
    Java核心知识体系1:泛型机制详解Java核心知识体系2:注解机制详解Java核心知识体系3:异常机制详解Java核心知识体系4:AOP原理和切面应用Java核心知识体系5:反射机制详解Java核心知识体系6:集合框架详解1为什么需要多线程我们都知道,CPU、内存、I/O设备的速度是有极大差异的,为了合......
  • [洛谷P5966] [BZOJ4344] [POI2016] Hydrorozgrywka
    题解建出原图的圆方树。由于原图无重边,不妨把桥看作二元环建树,这样圆点只与方点直接相连。圆方树定某一圆点为根后,若点\(u\)是圆点,定义点\(u\)的子仙人掌为点\(u\)子树中的圆点在原图的导出子图,定义该子仙人掌的根为点\(u\);若点\(u\)是方点,定义点\(u\)的子仙人掌为点......
  • Java面试小练(四)
    请描述GET请求方式与POST请求方式的区别?post比get更安全,发送数据更大get和post都是http和服务器交互的方式get会将请求的数据放在url中,http协议头,中间用?来链接,用&来相连数据,中文会进行url加密post会将数据放在http的包体内发送get请求数据放在url,理论上没有大小限制,但是浏......
  • Java语言基础知识全总结
    一.Java的优点1.      跨平台性。一次编译,到处运行。Java编译器会将Java代码编译成能在JVM上直接运行的字节码文件,C++会将源代码编译成可执行的二进制代码文件,所以C++执行速度快2.      纯面向对象。Java所有的代码都必须在类中书写。C++兼具面向对象和面向过程的特......
  • Java开发者的Python快速进修指南:实战之简易跳表
    前言之前我已经将Python的基本语法与Java进行了比较,相信大家对Python也有了一定的了解。我不会选择去写一些无用的业务逻辑来加强对Python的理解。相反,我更喜欢通过编写一些数据结构和算法来加深自己对Python编程的理解。学习任何语言都一样。通过编写数据结构和算法,不仅可以加......
  • 加固数据安全:Java助力保护Excel文件,让数据无懈可击
    前言Excel文件保护是常用的一种功能,文件保护主要有三种:添加密码,如果没有密码不允许打开文件。添加密码,如果没有密码,不能修改文件,但可以打开,只读以及另存文件。只读推荐,通常推荐打开Excel文件的用户使用只读模式打开,这种方式仅是一种提示,并非强行保护文件。给Excel添加保护情况1:下面......
  • Java零基础入门-输入
    前言Java作为一门大型的编程语言,拥有广泛的应用领域和众多的开发人员。对于初学者来说,掌握Java的重点知识点非常重要,其中输入是Java中基础的操作之一。本文将介绍Java中输入的相关知识点,帮助初学者快速掌握Java。摘要本文将介绍Java中输入的相关知识点,包括输入的方法,使用示例以......
  • JavaScript
    JavaScript是一种高级解释性脚本语言,已得到广泛使用,是Web开发的重要工具。它由NetscapeCommunicationsCorporation、Mozilla基金会和ECMAInternational开发。它易于学习和实施,并允许开发人员增强网页以提供身临其境的用户体验。JavaScript入门非常简单,您只需要一个用......
  • 集合框架(一) Java中Map的常见方法的使用及循环的五种方式
    Map是Java中的一种集合,它是一种键值对的映射表,可以根据键快速获取对应的值。@[toc]##1.常见使用方式以下是Java中Map的常见方法使用示例及运行结果:###1.1存储键值对使用put()方法向Map中添加键值对:```javaMap<String,Integer>map=newHashMap<>();map.put("apple",10......
  • @SpringbootTest报错 javax.websocket.server.ServerContainer not availableJ情况解
    在使用springboot单元测试出现:11:11:10.799[main]ERRORo.s.b.SpringApplication-[reportFailure,870]-Applicationrunfailedorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'serverEndpointExporter'definedincla......