
正文
java语言代码输出金字塔 怎么用java打出金字塔
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JAVA以金字塔形式输出 1 2 3 4 5 6
int count = 1;
int x = 3;
for(int i=x;i0;i--){
for (int j = 1; j i; j++) {
System.out.print(" ");
}
for (int K = 0; K = x-i; K++) {
System.out.print(count);
System.out.print(" ");
count ++;
}
System.out.println("");
}
相关问答
Q1: 用java的for循环编写程序,输出以下数字金字塔,最好带注释。
主要是每行java语言代码输出金字塔的输出问题java语言代码输出金字塔,分别是每行java语言代码输出金字塔的:空格java语言代码输出金字塔,数字(包活从小到大跟从大到小),还有没换行结尾java语言代码输出金字塔的换行符,核心是弄清楚每行空格输出数量跟行的关系,已经数字的起始输出已经结束数字界定等;
核心for循环如下,本人用UltraEdit 测试,完美通过,完美输出,类图片个输出界面也附下面了
for(n=1; n=5; n++) { //最外层循环控制输出的行数,分别是第一到第五行;
for(i=1; i=5-n; i++) { //这个循环控制每行前面的空格输出,如:第一个前面输出4个空格;
System.out.print(" ");
}
for(j= 5-n+1; j=5; j++) { // 这个循环控制中间数字一直到5的输出,如第一行一个5,第二行为4 5
System.out.print(j);
}
for(k=4; k5-n; k--) { //这个循环控制中间数字5之后的数字,如第一行不输出任何,第二行为4
System.out.print(k);
}
System.out.print("\n"); //这个是本行输出结束之后输出一个换行符
}
Q2: 编写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值,看看打印的个数对不对。
}
}下边是我写的其他程序。
Q3: 怎样用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以后的都是执行的除法饿。
你自己在仔细看看吧
刚看了这个问题,临时想的方法,可能不怎么好,但是你也可以看一看。
Q4: 如何用JAVA 编写一个递归程序输出如下数字金字塔
这个不用递归吧,几个循环搞定了:
for (int i=1; i=4; i++)
{
for ( int k=1; k=4-i; k++) System.out.print(" ");//输出前导空格
for ( int j=1; j=i, j++) System.out.print(""+j);//输出升序数字
for ( int m=i-1; m=1; m--) System.out.print(""+j);//输出降序数字
System.out.print("\n"); //输出换行符
}
Q5: Java 用二维数组输出数字金字塔
public class Pyramid {
private static int Number = 5;
public static void main(String[] args) {
char[][] chars = new char[Number][Number * 2 - 1];
for (int i = 0; i Number; i++) {
for (int j = 0; j Number; j++) {
if (i + j Number - 2) {
chars[i][j] = (char) (i + j + 2 - Number +48);
} else
chars[i][j] = ' ';
}
}
for(int i=0;iNumber;i++){
for(int j=Number;j2*Number-1;j++){
chars[i][j]=chars[i][2*Number-2-j];
}
}
for(int i=0;iNumber;i++){
for(int j=0;j2*Number-1;j++){
System.out.print(chars[i][j]+"\t");
}
System.out.println();
}
}
}
关于java语言代码输出金字塔和怎么用java打出金字塔的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







