空心三角 + 冒泡法

简介: 空心三角 + 冒泡法

空心三角:

/*
     *
    * *
   *   *
  *     *
 *********
*/
public class Stars {
  public static void main(String[] args) {
            int totalLevel = 20;//层数
    for(int i = 1; i <= totalLevel; i++) {//i 表示层数
      for(int k = 1; k <= totalLevel - i; k++) {// k 表示输出空格的数量
        System.out.print(" ");
        //在输出*之前,还要输出对应空格 = 总层数 - 当前层
      }
      for(int j = 1;j <= 2 * i - 1; j++) {// j 表示输出*的数量
        if(j == 1 || j == 2 * i - 1 || i == totalLevel) {
          System.out.print("*");
        } else {        // 其他情况输出空格
          System.out.print(" ");
        }
      }
      System.out.println( ); // 每打印完一层的*号后就换行,println本身也会换行
    }
    //1-4行第一个位置是*,最后一个位置也是* , 第五行全部输出
  }
}

冒泡法:

// 将五个无序的数:24,69,80,57,13 
// 使用冒泡排序法将其排成一个 从小到大 的有序数列
public class BubbleSort {
  public static void main(String[] args) {
        int[] arr = {24 , 69 , 80 , 57 , 13};
    int temp; //用于辅助变量交换
    // 4就是 arr.length - 1
    for(int i = 0; i < arr.length - 1; i++) {// 外层循环四次
      for(int j = 0; j < arr.length -1 -i; j++) { // 四次比较 -> 三次 -> 二次 -> 一次
      // 如果后面的数大于前面的数就进行交换
      if(arr[j] > arr[j + 1]) {
        temp = arr[j + 1];
        arr[j + 1] = arr[j];
        arr[j] = temp;
        }
      }
        // 每一轮循环可以确定一个数的位置,比如第一轮排序确定最大的数,第二轮排序
        //确定第二大的数,以此类推
      System.out.println("\n ===第" + (i + 1) + "轮");
      for(int j = 0; j < arr.length ; j++) {
        System.out.print(arr[j] + "\t");
        }
      }
    }


相关文章
|
8月前
|
存储 SQL Cloud Native
热烈祝贺 Flink 2.0 存算分离入选 VLDB 2025
Apache Flink 2.0架构实现重大突破,论文《Disaggregated State Management in Apache Flink® 2.0》被VLDB 2025收录。该研究提出解耦式状态管理架构,通过异步执行框架与全新存储引擎ForSt,实现状态与计算分离,显著提升扩展性、容错能力与资源效率,推动Flink向云原生演进,开启流计算新时代。
972 1
热烈祝贺 Flink 2.0 存算分离入选 VLDB 2025
Java 异常处理:11 个异常处理最佳实践
本文深入探讨了Java异常处理的最佳实践,包括早抛出晚捕获、只捕获可处理异常、不忽略异常、抛出具体异常、正确包装异常、记录或抛出异常但不同时执行、不在finally中抛出异常、避免用异常控制流程、使用模板方法减少重复代码、抛出与方法相关的异常及异常处理后清理资源等内容,旨在提升代码质量和可维护性。
737 3
|
监控 小程序 前端开发
小程序全栈开发中的WebSocket实时通信实践
【10月更文挑战第3天】随着移动互联网的发展,小程序因便捷的用户体验和社交传播能力,成为企业拓展业务的新渠道。本文探讨了小程序全栈开发中的WebSocket实时通信实践,包括其实时通信、长连接及双向通信的特点,并通过实时聊天、推送、游戏和监控等功能的实现,展示了WebSocket在小程序中的应用。开发者需注意安全性、性能及兼容性等问题,以保障小程序的稳定运行和用户体验。
324 7
|
中间件 FESCAR Apache
你好!Apache Seata(incubating)
你好!Apache Seata(incubating)
1304 100
CSS3 flex 布局在 wrap 换行模式下,让中间指定元素换行
CSS3 flex 布局在 wrap 换行模式下,让中间指定元素换行
1668 0
|
存储 安全 Java
Java面试题:在JVM中,堆和栈有什么区别?请详细解释说明,要深入到底层知识
Java面试题:在JVM中,堆和栈有什么区别?请详细解释说明,要深入到底层知识
543 3
|
编解码 前端开发 JavaScript
前端移动端适配方案
【9月更文挑战第8天】前端移动端适配方案
827 0
|
数据采集 网络协议 数据处理
LabVIEW常用开发架构有哪些
LabVIEW常用开发架构有哪些
402 0
|
网络协议 网络架构
计算机网络中MSS和MTU的区别
【4月更文挑战第11天】
2400 0
计算机网络中MSS和MTU的区别
|
存储 缓存 数据库
Android之SQLite数据库使用详解
Android之SQLite数据库使用详解
1363 0