当前位置:首页 » 编程语言 » 用java打印菱形

用java打印菱形

发布时间: 2022-06-13 09:56:41

㈠ 在java中如何用 for循环打印出一个菱形

用 for循环打印出一个菱形,大小形状可以通过修改参数i,j,k进行调整。代码如下:

㈡ java用for循环打印菱形

你可以换个来看,每少一行需要少输出两个*,所以这部分的量就是(size-i)*2,而最少需要输出的是1个*,刚好size那边是奇数并且满足size-i大于0的,所以需要再-1

㈢ JAVA的for循环打印菱形公式是什么

打印菱形其实很简单,记得高中数学的公式么 Sn =a1+(n-1)*d
打印菱形一般分成两部分,第一部分是打印正三角(一个空白三角+星星正三角),然后是倒三角(空白三角+星星到三角)

每个三角形分别用两个for循环嵌套实现
例如:
for (int i = 1; i < 4; i++) {
for (int j = 1; j <= 1 + (i - 1) * 2; j++) {
System.out.print("*");
}
System.out.println();
}

两个for循环,外面的for循环控制输出的星星或空白的行,里面的for循环控制输出列。
例如上面外层for值分别是 1 2 3 。
而我们相输出的列是 1 3 5 7.....
这个数列递增值d=2 // Sn =a1+(n-1)*d
那么套用公式里面的循环就应写for(int j=1;j<=1+(i-1)*2;j++)
就能输出 1 3 5 7 个星星
倒三角也一样 套公式
倒三角的d值为-2 ,
用了这个公式,输出三角真的跟浮云一样简单 // Sn =a1+(n-1)*d

㈣ java打印菱形。

public class test2 {public static void main(String[] args) {
//这个for执行四次
//第一次:打印9个空格,然后打印一个*,然后加个空格
//第二次:打印7个空格,然后打印三次 *加空格
//第三次:打印5个空格,然后打印五次 *加空格
//第四次:打印3个空格,然后打印7次 *加空格
for (int i = 0; i < 8; i++) { if (i % 2 == 0) { //这里表示只对i是偶数的时候执行下面的操作 for (int j = 0; j < 9 - i; j++) { //空格主要是给下面的行留空间,保证对齐
System.out.print(" "); //第一次打印7个空格,第二次5 } for (int j = 0; j < (i + 1); j++) { System.out.print('*' + " "); } System.out.println(); } } // 中部以及下半部分
//这个for也是四次
//第一次:打印4个空格,然后打印5次 空格加*
//第二次:打印6个空格,然后打印3次 空格加*
//第三次:打印8个空格,然后打印1次 空格加*
//第四次:打印10个空格,然后不打*
for (int i = 0; i < 8; i++) { if (i % 2 == 0) { for (int j = 0; j < 4 + i; j++) { System.out.print(" "); } for (int j = 0; j < 5 - i; j++) { System.out.print(" *"); } System.out.println(); } } } }

主要是你要理解思想就好理解了,分两部分 首先搞清楚每次循环打印*的个数,上半部分是先打1个,然后是3个,然后是5个,然后是7个。下半部分是5个,3个,1个。至于那些9,8,5,4那些数字,都是拼凑起来打印空格的,决定图形的对齐方式。
代码里唯一的注释是错的,第一次实际上是打了9个空格,第二次是7个,第三次是5个,最后是3个。下半部分写的有点乱。上半部分打印的是*加空格,下半部分打印的是空格加*,完全是为了拼凑出来的。你可以自己改改,不懂再问。

㈤ Java如何用“*”输出菱形(内藏十字架)

公共工程。Public static void main (string [] args)抛出 ioexception... int len;/rhombic long string outstr = new string () ;/output int i,j,x,y; bufferedbr = new bufferedreader (systemin) ;。???.输入菱形长度:

㈥ 用java打印菱形。

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

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

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

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

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

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

(一)实心菱形。

1、函数代码:

(6)用java打印菱形扩展阅读:

java打印的输出方式解析:

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

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

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

㈦ java打印菱形不是很懂,跪求每句的意思和作用。

importjava.util.Scanner;
class菱形{
publicstaticvoidmain(Stringargs[]){
introw;
Scannerkeyin=newScanner(System.in);
System.out.print("请输入菱形的行数:");
row=keyin.nextInt(); //输入的数字整数!
for(inti=1;i<=row/2+1;i++){//上半部分三角形:不用担心输入偶数,因为折半+1了;
repeat("",row/2+1-i);//空格:注意这是递减
repeat("*",2*i-1);//星:注意这是递减
System.out.println();//打完一排换行!
}
//下半部分三角形原理同上!
for(inti=row/2;i>=1;i--){
repeat("",row/2+1-i);//递增
repeat("*",2*i-1);//递减!
System.out.println();//换行!
}
}
publicstaticvoidrepeat(Stringc,intm){
for(inti=1;i<=m;i++)
System.out.print(c);
}
/**
*
*这个程序整体思路:把菱形分成上下两个三角形在打印,因为菱形是奇数
*上半部分采用了折半+1的算法,所有你输入任何数都不怕!
*如果5,上面就是3下面就是2
*如果6上面就是4下面就是3
*空格采用的算法与打出来的星,相反方式:一个递增一个递减!
*
*
*/
}

㈧ 如何用java编写用 "*"输出菱形

参考下面主要代码:
public static void draw()
{
int n=10;
for(int i=1;i<=n;i++)//控制行数

{
for(int k=n-1;k>=i;k--)//打印空格
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)//打印*
{
System.out.print("*");
}
System.out.println();
}
for(int i=n-1;i>=1;i--)

{
for(int k=i;k<=n-1;k++)
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)
{
System.out.print("*");
}
System.out.println();
}
}

㈨ 怎么用java去打印输出一个菱形

首先,这个涉及到行和列,所以,这个肯定是用两个for的嵌套来打印输出。然后,我们要找出这个的规律,因为“磨刀不误砍柴工”,所以找出规律所在,我们才知道应该怎么去下手。比如:我们应该把这个分成上下两个部分,上面部分是:
*****
第一行:三个部分;2个空格 1个*号 2个空格 (i=1)
***** 第二行:三个部分;1个空格 3个*号 1个空格 (i=2)
***** 第三行:三个部分;0个空格 5个*号 0个空格 ( i=3)

为了更加方便去找规律,我们把这个图形补充完整,黑色部分代表着空格,也就是没有显示的部分,而红色部分就是我们的图形的上半部分。所以我们可以得出的规律是:*号的数量和i的关系为:2*i-1 而,空格因为左右一样,所以空格为:3-i。所以上半部分的代码可以这样写:

for(int i =1 ;i<=3;i++){
for(int j=1;j<=3-i;j++){
System.out.print(" ");//打印左边的空格
}
for(int j=1;j<=2*i-1;j++){
System.out.print("*"); //打印*号
}
for(int j=1;j<=3-i;j++){
System.out.print(" ");//打印右边空格(也可以省略)
}
System.out.println();//这是每一行打印完就换行
}

那同样的,我们也要在下半部分找出规律来:

***** 第一行:三个部分;1个空格 3个*号 1个空格
(i=1)

***** 第一行:三个部分;2个空格
1个*号 2个空格 (i=2)

所以我们可以得出的规律是:*号的数量和i的关系为:5-2*i
而,空格因为左右一样,所以空格为:i。所以下半部分的代码可以这样写:

for(int i=1;i<=2;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}
for(int j=1;j<=5-2*i;j++){
System.out.print("*");
}
for(int j=1;j<=i;j++){
System.out.print(" ");
}
System.out.println();
}

同样的任何只要是这样的菱形,我们都可以通过这个规律去打印,只需要把上面的数字替换掉,替换成需要打印的数字就可以了,然后规律大家也可以自己去找。只要很认真熟练地打印出这个例子,那么for的嵌套使用就可以比较熟练了。

㈩ java打印菱形

public static void main(String[] args) {

for (int row = 0; row < 5; row++) {
for (int col = 1; col <= 2 * row - 1; col++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("正的直角三角形");
System.out.println("-------------------------------------------------");

for (int row = 0; row < 5; row++) {
for (int col = 5; col >= 2 * row - 1; col--) {
System.out.print("*");
}
System.out.println();
}
System.out.println("倒的直角三角形");
System.out.println("-------------------------------------------------");

for (int row = 0; row < 5; row++) {
for (int col = 0; col < 5 - row; col++) {
System.out.print(" ");
}
for (int col = 0; col < 2 * row - 1; col++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("正的等腰三角形");
System.out.println("-------------------------------------------------");

for (int row = 0; row < 5; row++) {
for (int col = 0; col <= row; col++) {
System.out.print(" ");
}
for (int col = 5; col >= 2 * row - 1; col--) {
System.out.print("*");
}

System.out.println();
}
System.out.println("倒的等腰三角形");
System.out.println("-------------------------------------------------");

for (int row = 0; row < 5; row++) {
for (int col = 5; col > row; col--) {
System.out.print(" ");
}
for (int col = 0; col <= row; col++) {
System.out.print("* ");
}
System.out.println();
}
System.out.println("正的加空格等腰三角形");
System.out.println("-------------------------------------------------");

for (int row = 0; row < 5; row++) {
for (int col = 1; col <= row; col++) {
System.out.print(" ");
}
for (int col = 5; col > row; col--) {
System.out.print("* ");
}
System.out.println();
}
System.out.println("倒的加空格等腰三角形");
System.out.println("-------------------------------------------------");

for (int row = 0; row < 5; row++) {
for (int col = 5; col > row; col--) {
System.out.print(" ");
}
for (int col = 0; col <= row; col++) {
System.out.print("* ");
}
System.out.println();
}
for (int row = 1; row < 5; row++) {
for (int col = 0; col <= row; col++) {
System.out.print(" ");
}
for (int col = 5; col > row; col--) {
System.out.print("* ");
}
System.out.println();
}
System.out.println("实的菱形");
System.out.println("-------------------------------------------------");

for (int row = 1; row <= 5; row++) {
for (int col = 5; col >= row; col--) {
System.out.print(" ");
}
for (int col = 1; col <= 2 * row - 1; col++) {
if (col == 1 || col == 2 * row - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}

}
System.out.println();
}
for (int row = 1; row <= 5; row++) {
for (int col = 1; col <= row + 1; col++) {
System.out.print(" ");
}
for (int col = 1; col <= 2 * (4 - row) + 1; col++) {
if (col == 1 || col == 2 * (4 - row) + 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
System.out.println("空的菱形");
System.out.println("-------------------------------------------------");

for (int row = 1; row <= 5; row++) {
for (int col = 5; col >= row; col--) {
System.out.print(" ");
}
for (int col = 1; col <= 2 * row + 7; col++) {
// 判断行数是第一行要奇数打*
if (row == 1 && col % 2 == 1) {
System.out.print("*");
// 判断行数是第一行要偶数打空格
} else if (row == 1 && col % 2 == 0) {
System.out.print(" ");
// 判断行数是第一行和最后一行打*
} else if (col == 1 || col == 2 * row + 7) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for (int row = 1; row <= 4; row++) {
for (int col = 1; col <= row + 1; col++) {
System.out.print(" ");
}
for (int col = 1; col <= 2 * (8 - row) + 1; col++) {
if (row == 4 && col % 2 == 1) {
System.out.print("*");

} else if (row == 4 && col % 2 == 0) {
System.out.print(" ");
} else if (col == 1 || col == 2 * (8 - row)+ 1) {
System.out.print("*");

} else {
System.out.print(" ");
}

}
System.out.println();
}
System.out.println("掏空的六边形");
System.out.println("----------------------------------------------");

}

刚写了几个例子,其实就是对循环语句的熟练。希望能帮到你!

热点内容
centos使用python 发布:2024-05-18 23:39:48 浏览:867
幻影天龙脚本 发布:2024-05-18 23:38:17 浏览:712
编程的py 发布:2024-05-18 23:36:22 浏览:74
安卓系统怎么改序列号 发布:2024-05-18 23:28:16 浏览:783
c语言中实数 发布:2024-05-18 23:21:03 浏览:895
服务器搭建题目 发布:2024-05-18 23:01:29 浏览:28
下载武装突袭后怎么进服务器 发布:2024-05-18 22:56:17 浏览:825
c语言字符串大写变小写 发布:2024-05-18 22:56:16 浏览:438
重启删除的文件夹 发布:2024-05-18 22:34:11 浏览:638
视频软件源码 发布:2024-05-18 22:22:24 浏览:429