java打印空心金字塔,如何用java打印數字金字塔

本文目錄一覽:

java for循環輸出金字塔

每行三部分,前面的空格,中間星號,找出行號跟數量的關係,後面加個換行符。

假設第四行前面一個空格,那麼第三行是兩個空格,第二行是三個,第一個行是四個。

設行號是X,所以空格數量跟行號的關係是:5-X。

星號的數量就等於:1+(X-1)*2

for(int i=1; i=4; i++) //最外層for控制第一到第四行輸出

{

for(int j=1; j=5-i; j++){ //控制每行開頭的空格輸出數量

System.out.print(” “);

}

for(int k=1; k=1+(i-1)*2; k++) //控制接着空格後面輸出的星號數量

{

System.out.print(“*”);

}

System.out.print(“\n”); //每行前兩部分輸出完了後,輸出一個換行符換到下一行。

}

怎樣用JAVA打印出下面下列數字金字塔

這是我看到的第三個相同的問題了

先給你講思路吧,首先這是個三角形,用3個FOR循環打印,一個控制行,一個控制前面的空格,一個控制後面打的東西。

如:

for(){//控制行數

for(){//控制每行前面的空格

}

for(){//控制每行所打的東西

}

}

例如光打個三角形的,不管裡面的數字,那就這樣:

for(int hang=0;hang6;hang++){//控制行(hang)

for(int kongge=0;konggehang;kongge++){//控制前面空格

System.out.print(” “);

}

for(int neirong=6;neironghang;neirong–){//控制內容

System.out.print(“*”);

}

System.out.println();//打印完一行換行

}

第三個FOR循環裡面的neironghang(這個變量可以自己定,表示有對少內容,這個是大於行數,由行數來決定,因為行數循環一次增加一次,則內容就減少一個)

上面是每打一行,則少一個內容,而你的題目是少兩個,你數數,你的第一行有11個,第二就有9個了。

那就這樣:

int nr=11;//定義控制內容個數的變量nr

for(int hang=0;hang6;hang++){//控制行

for(int kongge=0;konggehang;kongge++){//控制空格

System.out.print(” “);

}

for(int neirong=nr;neirong0;neirong–){//看,內容等於nr

System.out.print(“*”);

}

nr=nr-2;//每循環完一次,nr減少2;

System.out.println();

}

看到了么第三個for循環里的neirong0,我寫的是0,也可以的,意思內容由nr決定,第一次循環是11個數字,結束後nr-2,下一次循環就是9個數字了,以此類推

————

好了,現在形狀已經打印出來了,那就把裡面的*改成變化的數字就可以了。首先你的數字是先是以3的倍數增加,然後到中間後,以3的倍數減少。你數數,每行都是從最中間開始變的,中間那個數最大。

那首先我想到的是寫兩個方法,一個乘,一個除。

一下是兩個方法:

public static int cheng(int num1){

num1=num1*3;

if(num1==0){

num1=1;

}

return num1;

}

public static int chu(int num1){

num1=num1/3;

return num1;

}

現在方法寫了,我們直接帶入進去就好了;

我給全部代碼:

public class San {//類名三

public static int cheng(int num1){//靜態乘法方法

num1=num1*3;//帶入的參數乘3

if(num1==0){//判斷如果參數是0,則直接返回1

num1=1;

}

return num1;//返回結果

}

public static int chu(int num1){//靜態方法除法

num1=num1/3;//參數直接除以3

return num1;//返回結果

}

public static void main(String[] args) {//程序入口main方法

int nr=11;//定義初始內容個數,11個

for(int hang=0;hang6;hang++){//第一個FOR循環,控制行

int chushi=0;//上面兩個參數的初始值0

for(int kongge=0;konggehang;kongge++){//控制空格

System.out.print(“\t”);//打印空格

}

for(int neirong=nr;neirong0;neirong–){//控制內容

int zhongjian=0;//定義最中間的數

if(nr%2!=0){//內容個數除2有餘,則除2+1

zhongjian=nr/2+1;

}else{//內容沒有餘數,則直接除2

zhongjian=nr/2;

}

if(neirong=zhongjian){//如果內容個數大於中間數,則實行乘法

System.out.print(cheng(chushi)+”\t”);

chushi=cheng(chushi);

}else{//如果內容小於中間數,則實行除法

System.out.print(chu(chushi)+”\t”);

chushi=chu(chushi);

}

}

nr=nr-2;//換行,內容個數減少2個

System.out.println();//換行

}

}

}

————————–

不知道你明白沒。

上面的中間數意思是說告訴程序哪裡開始遞減。

比如第一行,有11個數字,到第6個數的時候停止再乘3,轉向除3,

那怎麼得到6?那就用11/2,而這樣只能得到5,所以我上面用了判斷,如有有餘數的話,就加上1,那中間數就得到6了,如果沒餘數,就直接除2,第二行就是10/2,得到了5,你看看中間是不是第5個丫。

下面我判斷如果neirong=zhongjian如果內容大於中間數的話,就執行乘法,不大於就執行除法。

用實際例子說明:你的例子第一行,有11個數,

那就是

1    3    9    27    81    243    81    27    9    3    1

11  10    9    8     7     6    5    4      3    2    1

6以前的都是執行乘法,5以後的都是執行的除法餓。

你自己在仔細看看吧

剛看了這個問題,臨時想的方法,可能不怎麼好,但是你也可以看一看。

java輸出如下的金字塔形的數字

import java.util.Scanner;

public class Exe_19 {

    public static void main(String[] args){

        System.out.print(“請輸入一個的數字:”);

        Scanner input = new Scanner(System.in);

        int a = input.nextInt();

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

            for (int j = 0; j  a – i;j++ )//打印空格

                System.out.print(”   “);

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

                System.out.printf(“%3.0f”,Math.pow(2,(k – 1)));//打印左半邊

            for (int q = i;q  1;q–)

                System.out.printf(“%3.0f”,Math.pow(2,(q – 2)));//打印右半邊

            System.out.print(“\n”);

        }

    }

}

java打印金字塔數字,1.2.4.8.16…..這樣的數表用for語句應該怎麼寫啊

class Ideone

{

public static void main (String[] args) throws java.lang.Exception

{

int a=10;

       for(int i=1,int s=1,int a=10;i==a;i++,i=2*i) System.ouprintln(i);

// your code goes here

}

}

怎麼用java打印金字塔

public class work2 {

public static void main(String[] args) {

method(9);

}

//參數化控制行數

public static void method(int n){

for(int i = 1;i = n;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.println();

}

}

}

編寫空心菱形金字塔的java程序

空心菱形金字塔的Java程序如下:

public class Test6 {

 public static void main(String[] args) {

  final int N=5;

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

   for (int j = 1; j = Math.abs(N – i); j++) {

    System.out.print(” “);

   }

   for (int k = 1; k = 2*N-1-Math.abs(i-N)*2; k++) {

    if(k==1 || k == 2*N-1-Math.abs(i-N)*2)

     System.out.print(“*”);

    else

     System.out.print(” “);

   }

   System.out.println();

  }

 }

}

運行結果:

*

   * *

  *   *

 *     *

*       *

 *     *

  *   *

   * *

    *

原創文章,作者:MQOS,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/135299.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
MQOS的頭像MQOS
上一篇 2024-10-04 00:11
下一篇 2024-10-04 00:11

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python循環符合要求數字求和

    這篇文章將詳細介紹如何通過Python循環符合要求數字求和。如果你想用Python求和但又不想手動輸入數字,那麼本文將是一個不錯的選擇。 一、使用while循環實現求和 sum =…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • 如何用Python寫愛心

    本文將會從多個方面闡述如何用Python語言來畫一個美麗的愛心圖案。 一、準備工作 在開始編寫程序之前,需要先理解一些編程基礎知識。首先是繪圖庫。Python有很多繪圖庫,常見的有…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29

發表回復

登錄後才能評論