Jalena Blog

  • 首页
  • 程序开发
    • Java
    • Spring
    • SpringBoot
    • SpringMvc
    • Python
    • Odoo
    • C#
    • SQL
    • Web
    • Linux
  • 移动设备
    • Android
    • Router
  • 杂七杂八
    • 我的废话
    • 音频
    • 视频
    • 常用软件
  • 关于
  1. 首页
  2. 软件开发
  3. Java
  4. 正文

JAVA 输出任意奇数的菱形

2016-04-08

常用的输出方法为2个等腰三角形叠起来,但是那样循环太多,很容易把人绕昏!

package zuoye;

import java.util.Scanner;

public class Diamond {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("请输入要打印行数:");
		int line = 0;

		line = input.nextInt();

		if (line % 2 == 0 || line == 1) {
			System.out.print("输入错误,只能为奇数");
		}else{
			int middle = (line + 1) / 2; 				// 求出中间行号
			int	k = 0;      							// k用于判断是输出上部的位置还是输出下部的位置

			for (int i = 0 ; i < line; i++) { 			// 控制需要输出的行数,取值于 Scanner
				
				if (i < middle) {						// 如果当前行小于中间行,那么赋值k为上部符号和空格的输出
					k++; 								// 上面的三角形的行号(包括中间那行)
				} else {
					k--; 								// 下面的三角形的行号(不包括中间那行)
				}
				
				for (int j = 0; j < middle + k; j++) { 				// 每行打印的空格和星星总数为:j   middle + k = j  也就是总行数
					System.out.print(j > middle - k ? "O" : " "); 	// middle-k的那个格子打印空格,后面的格子打印O
				}
				System.out.println();
			}
		}
		input.close();   // 关闭输入
	}
}
标签: java
最后更新:2020-10-25

Jalena

原创内容,转载请注明出处! 部分内容来自网络,请遵守法律适用!

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

【腾讯云】云服务器特惠热卖中
标签聚合
java Centos odoo 其他 生活 wordpress docker MySql
分类
  • Android / 4篇
  • C# / 10篇
  • Codec / 9篇
  • Conversion / 14篇
  • Editing / 16篇
  • Java / 47篇
  • Javascript / 3篇
  • Linux / 30篇
  • Odoo / 25篇
  • Python / 6篇
  • SQL / 30篇
  • Web / 3篇
  • Windows / 4篇
  • 我的日记 / 10篇
  • 杂七杂八 / 93篇
  • 软件开发 / 72篇
  • 非线性编辑 / 1篇

COPYRIGHT © 2026 Jalena Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备17025376号