新聞中心
Java打印菱形高效簡潔代碼
public?class?shu{
成都創(chuàng)新互聯(lián)主營嵩縣網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都App定制開發(fā),嵩縣h5小程序開發(fā)搭建,嵩縣網(wǎng)站營銷推廣歡迎嵩縣等地區(qū)企業(yè)咨詢
public?static?void?main(String[]?a){
for(int?i=0;i6;i++){
for(int?j=6-i;j0;j--){
System.out.print("?");
}
for(int?k=1;k=2*i+1;k++){
System.out.print("*");
}
System.out.println();
}?
/*以上是打印了一個上等腰三角形*/
for(int?i=6;i=0;i--){
for(int?j=6-i;j0;j--){
System.out.print("?");
}
for(int?k=1;k=2*i+1;k++){
System.out.print("*");
}
System.out.println();
}
}
}
只要把for的數(shù)據(jù)換下??下等腰三角形就出來了,所以原理其實就是打印2個等腰三角形
怎么用java去打印輸出一個菱形
首先,這個涉及到行和列,所以,這個肯定是用兩個for的嵌套來打印輸出。然后,我們要找出這個的規(guī)律,因為“磨刀不誤砍柴工”,所以找出規(guī)律所在,我們才知道應該怎么去下手。比如:我們應該把這個分成上下兩個部分,上面部分是:
*****
第一行:三個部分;2個空格 1個*號 2個空格 (i=1)
***** 第二行:三個部分;1個空格 3個*號 1個空格 (i=2)
***** 第三行:三個部分;0個空格 5個*號 0個空格 ( i=3)
為了更加方便去找規(guī)律,我們把這個圖形補充完整,黑色部分代表著空格,也就是沒有顯示的部分,而紅色部分就是我們的圖形的上半部分。所以我們可以得出的規(guī)律是:*號的數(shù)量和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();//這是每一行打印完就換行
}
那同樣的,我們也要在下半部分找出規(guī)律來:
***** 第一行:三個部分;1個空格 3個*號 1個空格
(i=1)
***** 第一行:三個部分;2個空格
1個*號 2個空格 (i=2)
所以我們可以得出的規(guī)律是:*號的數(shù)量和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();
}
同樣的任何只要是這樣的菱形,我們都可以通過這個規(guī)律去打印,只需要把上面的數(shù)字替換掉,替換成需要打印的數(shù)字就可以了,然后規(guī)律大家也可以自己去找。只要很認真熟練地打印出這個例子,那么for的嵌套使用就可以比較熟練了。
怎么用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("請輸入要打印的行數(shù):");
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("?");
}
//?打印*的個數(shù)
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("?");
}
//?打印*的個數(shù)
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();
}
回答于?2022-12-14
網(wǎng)站標題:關于java打印菱形代碼6的信息
文章位置:http://fisionsoft.com.cn/article/ddiegdi.html