導航:首頁 > 編程語言 > java列印金字塔

java列印金字塔

發布時間:2022-06-01 08:52:35

A. java如何讓弄出金字塔效果

方法寫錯了,我給你糾正下

Scannerinput=newScanner(System.in);
inti=input.nextInt();
for(intx=0;x<=i;x++){
for(inty=0;y<(i-x);y++){
System.out.print("");//列印金字塔每一行的空格
}
for(inty=0;y<(2*x-1);y++){//列印每一行的*
System.out.print("*");
}
System.out.println();
}

main方法應該這樣寫

B. JAVA列印一個倒立和正立的金字塔,就像影子那樣的,原來會,突然想不起來了,謝謝先,詳細代碼啊

方法一:一個星星一個星星的列印
方法二:
public class Diamond {

public static void main(String[] args) {

final int size = 4;

for (int i = 1; i <= size; i++) {
for (int j = i; j < size; j++) {
System.out.print(" ");
}

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

System.out.println();
}

for (int i = size - 1; i >= 1; i--) {
for (int j = 1; j <= size - i; j++) {
System.out.print(" ");
}

for (int k = 2 * i - 1; k > 0; k--) {
System.out.print("*");
}

System.out.println();
}

}
}
方法三:
public static void main(String[] args){
Scanner n = new Scanner(System.in);
System.out.println("請輸入整數:");
int size = n.nextInt();
char[] a = m(size);
float length = a.length;
int min = Math.round(length / 2) - 1;
int life = min;
int right = min;
for(int j = 0; j < size; j++) {
for(int i = 0; i < a.length; i++) {
if(i >= life && i <= right) {
a[i] = '*';
}
else {
a[i] = ' ';
}
System.out.print(a[i]);
}
System.out.println();
System.out.println();
life--;
right++;
}
life += 2;
right -= 2;
for(int j = 0; j < size - 1; j++) {
for(int i = 0; i < a.length; i++) {
if(i >= life && i <= right) {
a[i] = '*';
}
else {
a[i] = ' ';
}
System.out.print(a[i]);
}
System.out.println();
System.out.println();
life++;
right--;
}
}
public static char[] m(int n) {
int m = 2 * n - 1;
char[] a = new char[m];
return a;
}
}
方法四:
/**
* Prints a diamond of a particular size - see the readme for a full description
*/
public static void printDiamond(int size)
{
String result="";
for(int column=1; column<=size; column++)
{
int a=size-column;
for(int s=0; s<a; s++)
{
result+=" ";
}
int b=2*column-1;
for(int start=0; start<b;start++)
{
result+="*";
}
System.out.println(result);
result="";
}

for(int n=1;n<=size-1;n++)
{
// result+="a";
for(int c=0;c<n;c++)
{
result+=" ";
}
int numberOfStart=(2*size-1)-2*n;
for(int b=numberOfStart;b>0;b--)
{
result+="*";
}
System.out.println(result);
result="";
}

}

C. Java列印一半金字塔的代碼,同樣的代碼,老師能列印出來,我的不僅「*」是豎著的而且還少一行

System.out.print("*");
System.out.println("*");是列印後換行

D. JAVA以金字塔形式輸出 1 2 3 4 5 6

intcount=1;

intx=3;

for(inti=x;i>0;i--){

for(intj=1;j<i;j++){

System.out.print("");

}

for(intK=0;K<=x-i;K++){

System.out.print(count);

System.out.print("");

count++;

}

System.out.println("");

}

E. 編寫java程序列印金字塔形圖案。

public
class
Main
{

public
static
void
main(String[]
args)
{

for
(int
i
=
0;
i
<
5;
i++)
//這一句控制5行的列印。

{

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

System.out.print("
");

}//這一句共執行5-i-1次,即輸出5-i-1個空格。

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

System.out.print("*");

}//這一句共執行i+1次。即輸出2i+1個*。

//該輸出的都輸出了,換一行繼續列印。

System.out.println();
//列印一個回車符,即換行了。

}//你可以迭代一下每個i值,看看列印的個數對不對。

}
}下邊是我寫的其他程序。

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

importjava.util.Scanner;

publicclassExe_19{
publicstaticvoidmain(String[]args){
System.out.print("請輸入一個的數字:");
Scannerinput=newScanner(System.in);
inta=input.nextInt();
for(inti=1;i<=a;i++){
for(intj=0;j<a-i;j++)//列印空格
System.out.print("");
for(intk=1;k<=i;k++)
System.out.printf("%3.0f",Math.pow(2,(k-1)));//列印左半邊
for(intq=i;q>1;q--)
System.out.printf("%3.0f",Math.pow(2,(q-2)));//列印右半邊
System.out.print(" ");
}

}
}

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

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

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

如:

for(){//控制行數

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

}

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

}

}

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

for(inthang=0;hang<6;hang++){//控制行(hang)

for(intkongge=0;kongge<hang;kongge++){//控制前面空格

System.out.print("");

}

for(intneirong=6;neirong>hang;neirong--){//控制內容

System.out.print("*");

}

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

}

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

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

那就這樣:

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

for(inthang=0;hang<6;hang++){//控制行

for(intkongge=0;kongge<hang;kongge++){//控制空格

System.out.print("");

}

for(intneirong=nr;neirong>0;neirong--){//看,內容等於nr

System.out.print("*");

}

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

System.out.println();

}

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

------------

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

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

一下是兩個方法:

publicstaticintcheng(intnum1){

num1=num1*3;

if(num1==0){

num1=1;

}

returnnum1;

}

publicstaticintchu(intnum1){

num1=num1/3;

returnnum1;

}

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

我給全部代碼:

publicclassSan{//類名三

publicstaticintcheng(intnum1){//靜態乘法方法

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

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

num1=1;

}

returnnum1;//返回結果

}

publicstaticintchu(intnum1){//靜態方法除法

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

returnnum1;//返回結果

}

publicstaticvoidmain(String[]args){//程序入口main方法

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

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

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

for(intkongge=0;kongge<hang;kongge++){//控制空格

System.out.print(" ");//列印空格

}

for(intneirong=nr;neirong>0;neirong--){//控制內容

intzhongjian=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)+" ");

chushi=cheng(chushi);

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

System.out.print(chu(chushi)+" ");

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個數,

那就是

13927812438127931

1110987654321

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

你自己在仔細看看吧

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

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

classIdeone
{
publicstaticvoidmain(String[]args)throwsjava.lang.Exception
{
inta=10;
for(inti=1,ints=1,inta=10;i==a;i++,i=2*i) System.ouprintln(i);
//yourcodegoeshere
}
}

I. java,輸入整數n(1<=n<=9),列印出n行數字金字塔,急急急!!!

package test20201231;

import java.util.Scanner;


public class Test01 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("請輸入一個1-9之間的整數");

int n = sc.nextInt();

while(n<1 || n>9){

System.out.println("你輸入的數字不在0-9之間,或者不是整數,請重新輸入");

n = sc.nextInt();

}

for(int i=1;i<=n;i++){

for(int j=n-i;j>0;j--){

System.out.print(" ");

}

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

System.out.print(i);

}

for(int j=0;j<n-i;j++){

System.out.print("");

}

System.out.println();

}

}

}

J. 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列印金字塔相關的資料

熱點內容
什麼app進貨牛排比較好 瀏覽:107
為什麼鴻蒙用安卓app 瀏覽:82
手相面相pdf 瀏覽:374
軍犬不聽命令追出大門 瀏覽:913
程序員必背97件事 瀏覽:939
雲伺服器python怎麼讀取 瀏覽:29
哪裡買雲伺服器劃算 瀏覽:236
四川日報pdf 瀏覽:965
按摩解壓助眠小姐姐 瀏覽:411
風冷壓縮機水冷卻器 瀏覽:879
伺服器播放器如何打開方式 瀏覽:790
phppython快 瀏覽:365
pdf轉換word免費版 瀏覽:37
二手的有什麼APP 瀏覽:329
伺服器的應用鏡像是什麼 瀏覽:153
命令行的使用方法 瀏覽:514
怎麼讓圖片左右壓縮 瀏覽:656
白鹿原pdf 瀏覽:433
人民幣怎麼演算法 瀏覽:757
什麼app可以聽懂刺蝟說話 瀏覽:600