「java输出菱形怎么计算」java怎么打出菱形

博主:adminadmin 2022-11-30 03:02:05 109

今天给各位分享java输出菱形怎么计算的知识,其中也会对java怎么打出菱形进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么用java打印菱形?

java打印菱形方法:

package circulationDemo;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("请输入要打印的行数:");

int num = input.nextInt();

t1(num);// 正直角

split();

t2(num);// 倒直角

split();

t3(num);// 等腰三角

split();

t4(num);// 等腰倒三角++

split();

t5(num);// 等腰倒三角--

split();

t6(num);// 实心菱形

split();

t7(num);// 空心菱形(1)

split();

t8(num);// 空心菱形(2)

split();

t9(num);// 空心菱形(3)

}

private static void t9(int num) {

for (int k = 1; k = num; k++) {

for (int i = 1; i = (num - k); i++) {

System.out.print(" ");

}

System.out.print("*");

for (int i = 1; i = ((k - 2) * 2 + 1); i++) {

System.out.print(" ");

}

if (k != 1) {

System.out.print("*");

}

System.out.println();

}

for (int k = num-1; k = 1; k--) {

for (int i = 1; i = (num - k); i++) {

System.out.print(" ");

}

System.out.print("*");

for (int i = 1; i = ((k - 2) * 2 + 1); i++) {

System.out.print(" ");

}

if (k != 1) {

System.out.print("*");

}

System.out.println();

}

}

private static void t8(int num) {

// 上半部分

for (int i = 1; i = num; i++) {

// 打印上半部分空格

for (int j = 1; j = num - i; j++) {

System.out.print(" ");

}

// 打印原本实心的*部分

for (int j = 1; j = 2 * i - 1; j++) {

// 仅在一行的开头和末尾打印*

if (j == 1 || j == 2 * i - 1) {

System.out.print("*");

} else {

System.out.print(" ");

}

}

System.out.println();

}

// 下半部分

for (int i = 1; i = num - 1; i++) {

for (int j = 1; j = i; j++) {

System.out.print(" ");

}

for (int j = 1; j = 2 * (num - i - 1) + 1; j++) {

if (j == 1 || j == 2 * (num - i - 1) + 1) {

System.out.print("*");

} else {

System.out.print(" ");

}

}

System.out.println();

}

}

private static void t7(int num) {

// 打印上半部分

for (int i = 1; i = num; i++) {

// 打印空格

for (int j = 1; j = (num - i); j++) {

System.out.print(" ");

}

// 打印*的个数

if (i == 1) {

System.out.print("*");

} else {

System.out.print("*");

// 打印菱形里的空格

for (int j = 1; j = (2 * i - 3); j++) {

System.out.print(" ");

}

System.out.print("*");

}

System.out.println();

}

// 打印下半部分

for (int i = num - 1; i  0; i--) {

// 打印空格

for (int j = 1; j = (num - i); j++) {

System.out.print(" ");

}

// 打印*的个数

if (i == 1) {

System.out.print("*");

} else {

System.out.print("*");

// 打印菱形里的空格

for (int j = 1; j = (2 * i - 3); j++) {

System.out.print(" ");

}

System.out.print("*");

}

System.out.println();

}

}

private static void t6(int num) {

// 上半部分

for (int i = 1; i = num; i++) {

for (int j = 1; j = num - i; j++) {

System.out.print(" ");

}

for (int j = 1; j = 2 * i - 1; j++) {

System.out.print("*");

}

System.out.println();

}

// 下半部分

for (int i = 1; i = num - 1; i++) {

for (int j = 1; j = i; j++) {

System.out.print(" ");

}

for (int j = 1; j = 2 * (num - 1 - i) + 1; j++) {

System.out.print("*");

}

System.out.println();

}

}

private static void t5(int num) {

for (int i = num; i  0; i--) {

for (int j = 1; j = num - i; j++) {

System.out.print(" ");

}

for (int j = 1; j = 2 * i - 1; j++) {

System.out.print("*");

}

System.out.println();

}

}

private static void t4(int num) {

for (int i = 1; i = num; i++) {

for (int j = 1; j = i - 1; j++) {

System.out.print(" ");

}

for (int j = 1; j = 2 * (num - i) + 1; j++) {

System.out.print("*");

}

System.out.println();

}

}

private static void t3(int num) {

for (int i = 1; i = num; i++) {

for (int j = 1; j = num - i; j++) {

System.out.print(" ");

}

for (int j = 1; j = 2 * i - 1; j++) {

System.out.print("*");

}

System.out.println();

}

}

private static void split() {

System.out.println("---------------");

}

private static void t2(int num) {

for (int i = 1; i = num; i++) {

for (int j = 1; j = num - i + 1; j++) {

System.out.print("*");

}

System.out.println();

}

}

private static void t1(int num) {

for (int i = 1; i = num; i++) {

for (int j = 1; j = i; j++) {

System.out.print("*");

}

System.out.println();

}

}

}

java空心菱形算法

这样的代码光是看是很难看明白的,自己举个例子简单地在纸上写一写画一画,就比较容易明白了。

假定size=5,可以想像一下菱形的形状,size/2+1=3,按以上代码的逻辑来看,就是先处理上面的3行,然后处理下面剩下的2行。

处理上面3行的时候,每一行需要根据行数分别输出*和空格。先看第1行,i==0.

for (int i = 0; i size / 2 + 1; i++) {

for (int j = size / 2 + 1; j i + 1; j--) {

System.out.print(" ");// 输出左上角位置空白

}

这段代码此时的i==1,内层循环走完以后,会输出2次空格(j==3,j==2时),

然后依次往下走。

不得不说,上面的代码写的太复杂了,这么多for循环,看着好费劲的说~~

用java打印菱形。

一、整体实现思路:菱形9行9列可以将菱形分成上下两个三角形,分析每行空格数和星号个数的关系。

二、一个三角形的实现思路:以输出一个空心三角形为例:

(1)空格的输出按-1递减,字符的输出按等差数列,公差为2

(2)判断第一行和最后一行照常输出。

(3)中间行仅输出两个字符。

三、菱形分实心和空心两种,其代码及解析分别如下:

(一)实心菱形。

1、函数代码:

2、执行效果:

(二)空心菱形:

1、函数代码如下:

2、执行效果:

扩展资料:

java打印的输出方式解析:

1、print():print就是一般的标准输出,但是不换行。

2、println():println和print基本没什么差别,就是最后会换行。

要分辨清楚System.out.print()和System.out.println()的区别。System.out.print()是单纯的输出,而System.out.println()的功能是输出内容后换行,到达下一行,在使用时要注意区分两者之间的不同。

java输出菱形的解析

public static void main(String[] args) {

// 需要打一个多少行的菱形

int size = 5;

// 算出菱形的中间值

// (貌似size是偶数的话,打印出来的不是菱形,这个你们老师有没有提到?)

int centerNum = (size / 2) + 1;

// 两个控制打印#还是空格的变量,没什么解释的

int startNum = centerNum;

int endNum = centerNum;

// #号增多的方向,一个标记

boolean more = true;

// 这个for用来控制行

for (int a = 1; a = size; a++) {

// 这个for用来控制行中需要打印什么

for (int i = 1; i = size; i++) {

// 满足条件,就打印#,否则就打印空格

if (i = startNum  i = endNum) {

System.out.print("# ");/* #号后面有个空格,为了排版 */

} else {

System.out.print(" ");/* 两个空格,为了排版 */

}

}

// 换行

System.out.println();

// 改变 变量的值,控制打印

if (more) {

startNum -= 1;

endNum += 1;

} else {

startNum += 1;

endNum -= 1;

}

// 打印到中间那行之后,改变标记more的值

if (startNum == 1) {

more = false;

}

}

System.out.print("还有弄不懂的,你再追问");

}

}

用java for循环输出打印菱形 详细的步骤注释 求指教

*

***

*****

*******

*********

*******

*****

***

*

方法很多,可以i=0开始的!我现在是 从1开始

public class Zuoye {

public static void main(String[] args) {

//首先把菱形看成上下,上五下四,所以第一个for有5次,第二个for4次

for(int i=1;i=5;i++)

{

//将空格和*分开看,看" "的变化i=1时,他是4 ,2的时候是3找规律

for(int j=1;j=5-i;j++)

System.out.print(" ");

for(int k=1;k=2*i-1;k++)//找规律,i是 1 3 5 7 基数嘛

System.out.print('*');

//换一行

System.out.println();

}

for(int i=1;i=4;i++)

{

for(int j=1;j=i;j++)//空格 1 2 3 4 so

System.out.print(" ");

for(int k=7;k=2*i-1;k--)//* 7 5 3 1倒着来的基数

System.out.print('*');

System.out.println();

}

}

}

希望你可以举一反三,能打印活的菱形

关于java输出菱形怎么计算和java怎么打出菱形的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。