Java 基础-08:打印三角形

2023-05-16

目录

1、根据手动输入数字,打印该数字的直角三角形(直角在右上方)

2、根据手动输入数字,打印该数字的直角三角形(直角在左下方)

3、根据手动输入数字,打印该数字的直角三角形(直角在右下方)

4、根据手动输入数字,打印该数字的直角三角形(直角在左上方)

5、根据手动输入数字,打印该数字的等边三角形(正三角形)

6、根据手动输入数字,打印该数字的等边三角形(倒三角形)


1、根据手动输入数字,打印该数字的直角三角形(直角在右上方)

例如:输入数字为5,打印如下所示图形

1 2 3 4 5 
   1 2 3 4 
      1 2 3 
         1 2 
            1  

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数字: ");
        int howManyRows = input.nextInt();
        for (int row = 1; row <= howManyRows+1; row++) {
            for (int col = 1; col <= row - 1; col++) {
                System.out.print("  ");
            }
            for (int col = 1; col <= howManyRows-row +1; col++) {

                System.out.print(col+" ");
            }
            System.out.println();
        }
    }

2、根据手动输入数字,打印该数字的直角三角形(直角在左下方)

例如:输入数字为5,打印如下所示图形


5 4 
5 4 3 
5 4 3 2 
5 4 3 2 1

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数字: ");
        int howManyRows = input.nextInt();
        for (int row = 1; row <= howManyRows ; row++) {
            for (int col = howManyRows; col > howManyRows - row ; col--) {
                System.out.print(col+" ");
            }
            System.out.println();
        }
    }

3、根据手动输入数字,打印该数字的直角三角形(直角在右下方)

例如:输入数字为5,打印如下所示图形    

              5 
           4 5 
        3 4 5 
     2 3 4 5 
  1 2 3 4 5 

   public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数字: ");
        int howManyRows = input.nextInt();
        for (int row = 0; row < howManyRows ; row++) {
            for (int col = 1 ; col <= howManyRows-row; col++){
                System.out.print("  ");
            }
            for (int col = howManyRows-row ; col <= howManyRows; col++) {
                System.out.print(col+" ");
            }
            System.out.println();
        }
    }

4、根据手动输入数字,打印该数字的直角三角形(直角在左上方)

例如:输入数字为5,打印如下所示图形    

5 4 3 2 1 
5 4 3 2 
5 4 3 
5 4 

   public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数字: ");
        int howManyRows = input.nextInt();
        for (int row = 0; row <= howManyRows; row++) {
            for (int col = 5; col > row ; col--) {
                System.out.print(col+" ");
            }
            System.out.println();
        }
    }

5、根据手动输入数字,打印该数字的等边三角形(正三角形)

例如:输入数字为5,打印如下所示图形

        5
      4  5 
    3  4  5 
  2  3  4  5 
1  2  3  4  5 

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数字: ");
        int howManyRows = input.nextInt();
        for (int row = 0; row < howManyRows ; row++) {
            for (int col = howManyRows ; col > row;col--){
                System.out.print(" ");
            }
            for (int col = howManyRows-row ; col <= howManyRows; col++) {
                System.out.print(col+" ");
            }

            System.out.println();
        }
    }

6、根据手动输入数字,打印该数字的等边三角形(倒三角形)

例如:输入数字为5,打印如下所示图形    

1 2 3 4 5 
 2 3 4 5 
  3 4 5 
   4 5 
    5

   public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数字: ");
        int howManyRows = input.nextInt();
        for (int row = 0; row < howManyRows ; row++) {
            for (int col = 0; col <= row - 1; col++) {
                System.out.print(" ");
            }
            for (int col = row+1 ; col <= howManyRows; col++) {
                System.out.print(col+" ");
            }
            System.out.println();
        }
    }

总结:可以是数字显示的形式打印三角形,也可以是 ' * '号形式打印三角形

思路:1、首先要考虑要什么形式的三角形,考虑循环次数(第一层循环)

           2、那些三角形空格怎么做的,也是要考虑每行要空多少空格也是在(第二层循环)(不需                  要空格的不考虑这一步)

           3、从哪个数字开始,每行的特点(第二层循环)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 基础-08:打印三角形 的相关文章

  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • 热重载在docker中运行的java程序

    我开发了一个java程序 应该在docker中运行 然而 我在调试docker中运行的java程序时遇到了很多痛苦 我在网上搜索 一些教程提出了像 spring dev tools 这样的工具 因为我的java程序是基于spring boo
  • Java 中的 XPath 节点集

    我在 eclipse 中有这段代码 NodeSet nodes NodeSet xPath evaluate expression inputSource XPathConstants NODESET 它给我 NodeSet 上的编译时错误
  • 如果测试用例失败,Selenium Web 驱动程序无法关闭 Firefox 实例

    我各位 我正在使用 junit 和 selenium web 驱动程序 2 28 问题是 如果我运行成功的测试用例 Web 驱动器能够关闭 Firefox 实例 但是当测试用例失败时 Selenium Web 驱动器无法关闭 Firefox
  • 如何使用 FileChannel 将一个文件的内容附加到另一个文件的末尾?

    File a txt好像 ABC File d txt好像 DEF 我正在尝试将 DEF 附加到 ABC 所以a txt好像 ABC DEF 我尝试过的方法总是完全覆盖第一个条目 所以我总是最终得到 DEF 这是我尝试过的两种方法 File
  • 如何将 Java 赋值表达式转换为 Kotlin

    java中的一些东西就像 int a 1 b 2 c 1 if a b c System out print true 现在它应该转换为 kotlin 就像 var a Int 1 var b Int 2 var c Int 1 if a
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • Java8无符号算术

    据广泛报道 Java 8 具有对无符号整数的库支持 然而 似乎没有文章解释如何使用它以及有多少可能 有些函数 例如 Integer CompareUnsigned 很容易找到 并且似乎可以实现人们所期望的功能 但是 我什至无法编写一个简单的
  • CXF Swagger2功能添加安全定义

    我想使用 org apache cxf jaxrs swagger Swagger2Feature 将安全定义添加到我的其余服务中 但是我看不到任何相关方法或任何有关如何执行此操作的资源 下面是我想使用 swagger2feature 生成
  • java.io.IOException: %1 不是有效的 Win32 应用程序

    我正在尝试对 XML 文档进行数字签名 为此我有两个选择 有一个由爱沙尼亚认证中心为程序员创建的库 还有一个由银行制作的运行 Java 代码的脚本 如果使用官方 认证中心 库 那么一切都会像魅力一样进行一些调整 但是当涉及到银行脚本时 它会
  • 如何为 Gson 编写自定义 JSON 反序列化器?

    我有一个 Java 类 用户 public class User int id String name Timestamp updateDate 我收到一个包含来自 Web 服务的用户对象的 JSON 列表 id 1 name Jonas
  • 当分配给变量时,我可以以某种方式重用 Gremlin GraphTraversals 代码吗?

    我有看起来像这样的 GraphTraversals attrGroup GraphTraversal
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 归并排序中的递归:两次递归调用

    private void mergesort int low int high line 1 if low lt high line 2 int middle low high 2 line 3 mergesort low middle l
  • 尝试使用 Ruby Java Bridge (RJB) gem 时出现错误“无法创建 Java VM”

    我正在尝试实现 Ruby Java Bridge RJB gem 来与 JVM 通信 以便我可以运行 Open NLP gem 我在 Windows 8 上安装并运行了 Java 所有迹象 至少我所知道的 都表明 Java 已安装并可运行
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User

随机推荐