用java的for循环编写程序,输出以下数字金字塔,最好带注释。

如何用JAVA 编写一个递归程序输出如下数字金字塔~

这是我刚才编写的用于输出金字塔的一个类。完整的代码。//输出金字塔importjava.util.Scanner;publicclassa1{publicstaticvoidmain(String[]args){Scannera=newScanner(System.in);intN=5;//定义行数的变量booleanb=true;do{try{System.out.println("请输入整数类型的数字:");N=a.nextInt();//获取输入行数b=false;}catch(Exceptionea){a=newScanner(System.in);//N=a.nextInt();//获取输入行数}}while(b);inti,j,m;for(i=0;i<N;i++)//输出金字塔{for(m=0;m<N-1-i;m++){System.out.printf("");}for(j=0;j<2*i+1;j++){System.out.printf("*");}System.out.printf("
");}}}

package cn.gp.test;
public class TT {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=1;i<9;i++){
//System.out.println(1<<i);
print(i);
}
}
public static void print(int i){
//假设是5那么先打印3个空格,然后接下来是124 8
//先打印空格
for(int j=0;j<8-i;j++){
System.out.print(" ");
}
//打印左侧 8
for(int j=0;j<i-1;j++){
System.out.print(1<<j);
}
//打印中间
System.out.print(1<<(i-1));
//打印右侧
for(int j=0;j<i-1;j++){
System.out.print((1>(j+1));
}
System.out.println();
}
}
好久没有做循环了,哈哈

主要是每行的输出问题,分别是每行的:空格,数字(包活从小到大跟从大到小),还有没换行结尾的换行符,核心是弄清楚每行空格输出数量跟行的关系,已经数字的起始输出已经结束数字界定等;

 

核心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; k>5-n; k--) {    //这个循环控制中间数字5之后的数字,如第一行不输出任何,第二行为4

     System.out.print(k);

  }

  System.out.print("
");    //这个是本行输出结束之后输出一个换行符

}



package test;

public class test {
//大体意思就是用分成5部分输出:空格+递增数字+核心数字+递减数字+空格
public static void main(String[] args) {
int n = 5;//定义变量,想输出以谁为核心的金字塔,这里就写几
//以第一行为例,是4个空格+0个递增+核心+0个递减+4个空格,
//第二行就是,3+1+1+1+3,依此类推
for (int i = 0; i < n; i++) {
//空格
for (int j = i; j < n - 1; j++) {
System.out.print(" ");
}
//递增数字
for (int j = n - i; j < n; j++) {
System.out.print(j);
}
//核心数字
System.out.print(n);
//递减数字
for (int j = n; j > n - i; j--) {
System.out.print(j - 1);
}
//空格
for (int j = i; j < n - 1; j++) {
System.out.print(" ");
}
//换行
System.out.println("");
}

}

}
希望能帮到你。。

 
public class Test {
 public static final  int N=5;
 public static void main(String[] args) {
  // i 表示第几行from 1 to 5
  //(N-i)空格+数字(from N-i+1 to n)+(from(N-1) to N-i+1)
  for(int i=1;i<=N;i++){
   outputSpace(i);
   outputNumA(i);
   outputNumD(i);
   System.out.println();
  }
 }
 //输出空格
 public static void outputSpace(int i){
  for(int j=1;j<=N-i;j++){
   System.out.print(" ");
  }
 }
 //输出数字,由小到大的那一半
 public static void outputNumA(int i){
  for(int j=N-i+1;j<=N;j++){
   System.out.print(j);
  }
 }
 //输出数字,由大到小的那一半
 public static void outputNumD(int i){
  for(int j=N-1;j>=N-i+1;j--){
   System.out.print(j);
  }
 }
}


java中for循环如何实现
答:for(j=60j<120;j++) {} for(;j>0;j--) {} for循环一般形式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;} 其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。

java 1、用for循环编程计算1*2*3*4*5 2、用while循环编程计算1+2+...
答:1.用for循环编程计算1*2*3*4*5的Java程序如下 public class A { public static void main(String[] args) { int factorial=1;for(int i=1;i<=5;i++){ factorial=factorial*i;} System.out.println("1*2*3*4*5="+factorial);} } 2.用while循环编程计算1+2+3+4+5的Java程序如...

编写一个JAVA应用程序,使用for循环计算8+88+888+8888+88888+...的前...
答:public class Test { public static void main(String[] args) { String a="";long b;int sum=0;for(int i=0;i<10;i++){ a+="8";b=Long.parseLong(a);sum+=b;System.out.println("结果为"+sum);} } }

java,可以用for循环写一个到5的阶乘计算
答:用for循环写一个到5的阶乘计算的Java程序如下 public class C { public static void main(String[] args) { for(int i=1;i<=5;i++){ int factorial =1; for(int j=1;j<=i;j++){ factorial *=j; } System.out.println(i+"!="+factorial); } }}运行结果 1!...

编写JAVA程序,应用for循环实现打印一个行数为七行的菱形。
答:import java.util.Scanner;public class App {public static void main(String[] argv) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();for (int i = 0; i < n; i++) {int m = Math.abs((n / 2) - i);for (int k = 0; k < m; k++)System.out....

编写一个Java应用程序,使用for循环计算6+66+666+6666+……的前10项之...
答:public static void main(String []args){ double sum = 0;double x=6;for (int i = 1; i < =10; i++) { // i为控制相加的次数,即前10项 sum += x; //将该项与之前项的和相加 x += x * 10 + 6; //控制变量,在前一项的基础上乘以10再加6即为后面一项的值 } ...

用java的for循环编写程序,输出以下数字金字塔,最好带注释。
答:核心for循环如下,本人用UltraEdit 测试,完美通过,完美输出,类图片个输出界面也附下面了 for(n=1; n<=5; n++) { //最外层循环控制输出的行数,分别是第一到第五行;for(i=1; i<=5-n; i++) { //这个循环控制每行前面的空格输出,如:第一个前面输出4个空格;System.out.print...

用Java中for循环编写程序
答:import java.util.Scanner;class Test { public static void main(String[] args) { Scanner s = new Scanner(System.in);int sum = 0;int count = 0;int pe1=0,pe2=0;System.out.println("请输入游戏局数:");count = s.nextInt();args=new String[count];for (int i = 0; i <...

用java编一个程序,定义数组,用for循环语句,顺序输入10个实数,然后逆序...
答:import java.util.*;public class Demo { public static void main(String[] args) { double[] nums = new double[10]; Scanner input = new Scanner(System.in); for (int i = 0; i < 10; i++) { nums[i] = input.nextDouble(); } for (int i = 9; i...

用java编写一个程序,求2到100之间的偶数和(使用for循环)
答:public static void main(String[] args) { int sum = 0;for (int i = 0; i <= 100; i++) { if(i%2==0){ sum += i;System.out.print(i+" ");System.out.print("偶数和为:"+sum);} } } 如果不要0 i初始值给1就可以了 希望能帮到你!

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网