java实现打印菱形

简介: java实现打印菱形
package cn.jbit.nestedloops;
import java.util.Scanner;
/**
 * 输入行数打印菱形
 */
public class Diamond {
  public static void main(String[] args) {
    int rows = 0; //菱形的行数
    Scanner input = new Scanner(System.in);
    System.out.print("请输入菱形行数:");
    rows = input.nextInt();
    while(rows%2 == 0){
      System.out.print("请输入奇数:");
      rows = input.nextInt();
    }
    int n = (rows+1)/2;
    //打印菱形的上半部分
    for(int i = 1; i <= n; i++){//外层循环变量i控制行数
      for(int j = 1; j <= n-i; j++){//内层循环变量j控制该行空格数
        System.out.print(" ");
      }
      for(int k = 1; k <= 2*i-1; k++){//内层循环变量k控制该行*号数
        System.out.print("*");
      }
      System.out.print("\n");
    }
    //打印菱形的下半部分
    for(int i = n-1; i >= 1; i--){
      for(int j = 1; j <= n-i; j++){
        System.out.print(" ");
      }
      for(int k = 1; k <= 2*i-1; k++){
        System.out.print("*");
      }
      System.out.print("\n");
    }
  }
}
目录
相关文章
|
6天前
|
Java
java实现打印菱形
java实现打印菱形
11 0
|
Java
用JAVA打印菱形(利用for循环)详细注释
用JAVA打印菱形(利用for循环)详细注释
4311 9
|
算法 Java
java打印菱形
package com.liu.text; public class TestString { public static void main(String[] args) { //k就是行数,一共K行 in...
918 0
|
4天前
|
Java 测试技术
Java多线程的一些基本例子
【5月更文挑战第17天】Java多线程允许并发执行任务。示例1展示创建并启动两个`MyThread`对象,各自独立打印&quot;Hello World&quot;。示例2的`CounterExample`中,两个线程(IncrementThread和DecrementThread)同步地增加和减少共享计数器,确保最终计数为零。这些例子展示了Java线程的基本用法,包括线程同步,还有如Executor框架和线程池等更复杂的用例。
11 0
|
4天前
|
缓存 安全 Java
7张图带你轻松理解Java 线程安全,java缓存机制面试
7张图带你轻松理解Java 线程安全,java缓存机制面试
|
2天前
|
Java
Java一分钟之-并发编程:线程间通信(Phaser, CyclicBarrier, Semaphore)
【5月更文挑战第19天】Java并发编程中,Phaser、CyclicBarrier和Semaphore是三种强大的同步工具。Phaser用于阶段性任务协调,支持动态注册;CyclicBarrier允许线程同步执行,适合循环任务;Semaphore控制资源访问线程数,常用于限流和资源池管理。了解其使用场景、常见问题及避免策略,结合代码示例,能有效提升并发程序效率。注意异常处理和资源管理,以防止并发问题。
24 2
|
2天前
|
安全 Java 容器
Java一分钟之-并发编程:线程安全的集合类
【5月更文挑战第19天】Java提供线程安全集合类以解决并发环境中的数据一致性问题。例如,Vector是线程安全但效率低;可以使用Collections.synchronizedXxx将ArrayList或HashMap同步;ConcurrentHashMap是高效线程安全的映射;CopyOnWriteArrayList和CopyOnWriteArraySet适合读多写少场景;LinkedBlockingQueue是生产者-消费者模型中的线程安全队列。注意,过度同步可能影响性能,应尽量减少共享状态并利用并发工具类。
16 2
|
2天前
|
Java 程序员 调度
Java中的多线程编程:基础知识与实践
【5月更文挑战第19天】多线程编程是Java中的一个重要概念,它允许程序员在同一时间执行多个任务。本文将介绍Java多线程的基础知识,包括线程的创建、启动和管理,以及如何通过多线程提高程序的性能和响应性。