小弟刚学几天java 好多不懂的 请高手指点下。。求各种星星的输出:
A图:
*
**
***
****
*****
B图:
*
**
* *
*  *
*****
C图:
    *    
   ***   
  *****  
 ******* 
*********
D图:
    *    
   * *   
  *   *  
 *     * 
*********
E图:
*
***
*****
***
**
*
*
F图:
*****
*   *
*   *
*   *
*****
这几个图愁了我好几天了,,如果高手有耐心 希望加上详细的注解
另外我想问问,关于这些算来算去的星星 有什么用么?好繁琐啊,算起来好吃力,有什么强化,或者简便的办法吗?

解决方案 »

  1.   

    不考虑规律,简便方法是有的。
    你直接使用System.out.println("*");
      

  2.   

    这道题粘过来的时候走样啊- -!其实是有规律的,昨天没看就发上来了,,不好意思
    B图:
    *
    **
    * *
    *  *
    *****
    C图:
        *    
       ***   
      *****  
     ******* 
    *********
    D图:
        *    
       * *   
      *   *  
     *     * 
    *********
    E图:
    *
    ***
    *****
    ***
    **
    *
    *
    F图:
    *****
    *   *
    *   *
    *   *
    *****
      

  3.   

    package practice;public class A { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    for (int i = 0; i <= 4; i++) {
    for (int j = 0; j <= i; j++) {
    System.out.print("*");
    }
    System.out.println();
    }
    }}
    package practice;public class B {
    public static void main(String[] args) {
    for (int i = 0; i <= 4; i++) {
    if (i <= 1) {
    for (int k = 0; k <= i; k++) {
    System.out.print("*");
    }
    System.out.println();
    } else if (i > 1 && i <= 3) {
    for (int k = 0; k <= 2; k++) {
    if (k == 1) {
    System.out.print(" ");
    } else {
    System.out.print("*");
    }
    }
    System.out.println(" ");
    }else{
    for(int k=0;k<=4;k++)
    System.out.print("*");
    }
    }
    }
    }
    package practice;public class C { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    for (int i = 1; i <= 5; i++) {
    if (i <= 3) {
    for (int k = 0; k <= 1; k++)
    System.out.print(" ");
    for (int j = 0; j < 2 * i - 1; j++)
    System.out.print("*");
    System.out.println();
    } else {
    for (int k = i; k <= 5; k++)
    System.out.print(" ");
    for (int j = 0; j < 2 * i - 1; j++)
    System.out.print("*");
    System.out.println();
    }
    }
    }}
    public class D { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    for (int i = 1; i <= 5; i++) {
    if (i <= 2) {
    for (int j = 0; j <= 1; j++)
    System.out.print(" ");
    for (int k = 1; k <= 2 * i - 1; k++) {
    if ((k % 2) != 0)
    System.out.print("*");
    else
    System.out.print(" ");
    }
    System.out.println();
    } else if (i > 2 && i <= 4) {
    for (int j = i; j <= 4; j++)
    System.out.print(" ");
    for (int k = 1; k <= 2 * i - 1; k++) {
    if (k == 1 || k == 3)
    System.out.print("*");
    else
    System.out.print(" ");
    }
    System.out.println();
    }
    }
    for (int j = 0; j < 9; j++)
    System.out.print("*");
    }}package practice;public class E {
    public static void main(String[] args) {
    for (int i = 1; i <= 7; i++) {
    if(i<=3){
    for(int j=1;j<=2*i-1;j++){
    System.out.print("*");
    }
    System.out.println();
    }else if(i<=6){
    for(int j=i;j<=6;j++)
    System.out.print("*");
    System.out.println();
    }else{
    System.out.print("*");
    }
    }
    }
    }
    package practice;public class F { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    for (int i = 3; i <= 7; i++) {
    if (i == 3 || i == 7) {
    for (int j = 1; j <= 5; j++) {
    System.out.print("*");
    }
    System.out.println();
    } else {
    for (int j = i - 2; j <= i; j++) {
    if(i%2==0){
    if (j % 2 == 0)
    System.out.print("*");
    else
    System.out.print(" ");
    }else{
    if (j % 2 != 0)
    System.out.print("*");
    else
    System.out.print(" ");
    }
    }
    System.out.println();
    }
    }
    }
    应该有更简单的方法 欢迎大家批评指正
      

  4.   

    你把图整理好了再发上来,或者截个图,发个 图片上来也行啊。  你这样我完全看不清楚。。说第一题答案:public class JavaA
    {
      public static void main(String[] args)
      {
         for (int x = 1 ; x<=5 ; x++ )//定义你要打印星星的行数
         {
            for (int y = 1 ; y<=x ; y++ )
             {       //这个定义每列要打印的星星数,关键就是在这个y<=x上,你好好琢磨下。
                System.out.print("*");  
             }
           System.out.println(); //这个是用来打印换行的
         }
      }
    }
    代码直接打出来的,没有去跑,可能有点小问题,估计可能也就是中文状态下的标点符号、
      

  5.   

    前面仁兄说得对  for + if 组合,应该没有什么简便的方法!
      

  6.   


    public class Test
    {
        public static void main(String[] args)
        {
            int[][] a = new int[][]{{1,0,0,0,0,},{1,1,0,0,0},{1,1,1,0,0},{1,1,1,1,0},{1,1,1,1,1,1}};
            int[][] b = new int[][]{{1,0,0,0,0,},{1,1,0,0,0},{1,0,1,0,0},{1,0,1,0,0},{1,1,1,1,1,1}};
            int[][] c = new int[][]{{0,0,1,0,0,0,0,0,0},{0,0,1,1,1,0,0,0,0},{0,0,1,1,1,1,0,0,0},{0,1,1,1,1,1,1,1,0},{1,1,1,1,1,1,1,1,1}};
            int[][] d = new int[][]{{0,0,1,0,0,0,0,0,0},{0,0,1,0,1,0,0,0,0},{0,0,1,0,1,0,0,0,0},{0,1,0,1,0,0,0,0,0},{1,1,1,1,1,1,1,1,1}};
            int[][] e = new int[][]{{1,0,0,0,0,},{1,1,1,0,0},{1,1,1,1,1},{1,1,1,0,0},{1,1,0,0,0,0},{1,0,0,0,0,0},{1,0,0,0,0,0}};
            int[][] f = new int[][]{{1,1,1,1,1,},{1,0,1,0,0},{1,0,1,0,0},{1,0,1,0,0},{1,1,1,1,1,1}};
            System.out.println("-----------------------------------------------");
            System.out.println("A图是:");
            Test.printxx(a);
            System.out.println("-----------------------------------------------");
            System.out.println("B图是:");
            Test.printxx(b);
            System.out.println("-----------------------------------------------");
            System.out.println("C图是:");
            Test.printxx(c);
            System.out.println("-----------------------------------------------");
            System.out.println("D图是:");
            Test.printxx(d);
            System.out.println("-----------------------------------------------");
            System.out.println("E图是:");
            Test.printxx(e);
            System.out.println("-----------------------------------------------");
            System.out.println("F图是:");
            Test.printxx(f);
        }
        public static void printxx(int[][] n)
        {
           int[][] x=n;
             for (int i=0;i<5;i++)
            {
              for(int j=0;j<5;j++)
              {
                 if(x[i][j]==1) 
                 {
                   System.out.print("*");
                 }
                 else
                 {
                  System.out.print(" ");
                 }
              }
              System.out.println();
            }   
        }
    }
      

  7.   

    我错了 是这样的
    public class Test
    {
        public static void main(String[] args)
        {
            int[][] a = new int[][]{{1,0,0,0,0,},{1,1,0,0,0},{1,1,1,0,0},{1,1,1,1,0},{1,1,1,1,1,1}};
            int[][] b = new int[][]{{1,0,0,0,0,},{1,1,0,0,0},{1,0,1,0,0},{1,0,1,0,0},{1,1,1,1,1,1}};
            int[][] c = new int[][]{{0,0,1,0,0,0,0,0,0},{0,0,1,1,1,0,0,0,0},{0,0,1,1,1,1,0,0,0},{0,1,1,1,1,1,1,1,0},{1,1,1,1,1,1,1,1,1}};
            int[][] d = new int[][]{{0,0,1,0,0,0,0,0,0},{0,0,1,0,1,0,0,0,0},{0,0,1,0,1,0,0,0,0},{0,1,0,1,0,0,0,0,0},{1,1,1,1,1,1,1,1,1}};
            int[][] e = new int[][]{{1,0,0,0,0,},{1,1,1,0,0},{1,1,1,1,1},{1,1,1,0,0},{1,1,0,0,0,0},{1,0,0,0,0,0},{1,0,0,0,0,0}};
            int[][] f = new int[][]{{1,1,1,1,1,},{1,0,1,0,0},{1,0,1,0,0},{1,0,1,0,0},{1,1,1,1,1,1}};
            System.out.println("-----------------------------------------------");
            System.out.println("A图是:");
            Test.printxx(a);
            System.out.println("-----------------------------------------------");
            System.out.println("B图是:");
            Test.printxx(b);
            System.out.println("-----------------------------------------------");
            System.out.println("C图是:");
            Test.printxx(c);
            System.out.println("-----------------------------------------------");
            System.out.println("D图是:");
            Test.printxx(d);
            System.out.println("-----------------------------------------------");
            System.out.println("E图是:");
            Test.printxx(e);
            System.out.println("-----------------------------------------------");
            System.out.println("F图是:");
            Test.printxx(f);
        }
        public static void printxx(int[][] n)
        {
           int[][] x=n;
           int xl=x.length;
           int yl=x[0].length;
             for (int i=0;i<xl;i++)
            {
              for(int j=0;j<yl;j++)
              {
                 if(x[i][j]==1) 
                 {
                   System.out.print("*");
                 }
                 else
                 {
                  System.out.print(" ");
                 }
              }
              System.out.println();
            }   
        }
    }
      

  8.   

    做这个题就是要找到"空格"和"*"与"行号"和"列号"的关系比如第一个图就是:
    第0行打印第0列的"*"
    第1行打印第0/1列的"*"
    第2行打印第0/1/2列的"*"
    ...
    第N行打印第i列的"*",0 < = i < = N结果就是:int N = 4;
    for(int i = 0; i < N; i++){//表示行
       for(int j = 0; j < N; j++){//表示列
           System.out.println("*");
       }
       System.out.println("\n");//换行
    }
      

  9.   

    上面的代码写错了int N = 4;
    for(int i = 0; i  <= N; i++){//表示行     
        for(int j = 0; j  <= i; j++){//表示列         
            System.out.println("*");     
        }     
        System.out.println("\n");//换行  

      

  10.   

    不标准用System.out.println(“*”),求标准就用循环嵌套,楼上大虾们给了很详细的答案
      

  11.   


    //勉强写了一个,不知是否是你想要的。图形没有粘贴好,很痛苦。
    public class Diamod {
    public static int N = 5;

    public static void outPut(char c){

    System.out.println(c+"图:");
    }
    public static void mapA(){
    outPut('A');
    for (int i = 0; i < N; i++) {
    for (int j = 0; j < i + 1; j++) {
    System.out.print('*');
    }
    System.out.println();
    }
    }
    public static void mapB(){
    outPut('B');
    for (int i = 0; i < N; i++) {
    for (int j = 0; j <= i ; j++) {
    if(i==2&&j==1||((j==1||j==2)&&i==3)) 
    System.out.print(" ");
    else 
    System.out.print('*');
    }
    System.out.println();
    }
    }
    public static void mapC(){
    outPut('C');
    for (int i = 0; i < N; i++) {
    for (int j = 0; j < N - i - 1; j++) {
    System.out.print(" ");
    }
    for (int j = 0; j < 2 * i + 1; j++) {
    System.out.print('*');
    }
    System.out.println();
    }
    }
    public static void mapD(){
    outPut('D');
    char[][] arr = new char[N][2*N-1];
    for (int i = 0; i < N; i++) {
    for (int j = 0; j < 2 * N - 1 ; j++) {
    arr[i][j] = ' ';
    if(i==N-1||i+j==4||j-i==4) 
    arr[i][j] = '*';
    }
    }
    for (int i = 0; i < N; i++) {
    for (int j = 0; j < 2 * N - 1; j++) {
    System.out.print(arr[i][j]);
    }
    System.out.println();
    }
    }
    public static void mapE(){
    outPut('E');
    for(int i=0;i<N;i++){
    for(int j=0;j<N-2*Math.abs(N/2-i);j++)
    System.out.print('*');
    System.out.println();
    }
    }
    public static void mapF(){
    outPut('F');
    for (int i = 0; i < N; i++) {
    for (int j = 0; j < N ; j++) {
    if(i == 0 || i == N-1) 
    System.out.print('*');
    else if(j == 0 || j == 2)
    System.out.print('*');
    if(j == 1 && i != 0 && i != N-1) 
    System.out.print(" ");
    }
    System.out.println();
    }
    }
    public static void main(String[] args) {
    mapA();
    mapB();
    mapC();
    mapD();
    mapE();
    mapF();
    }
    }
    运行结果:
    A图:
    *
    **
    ***
    ****
    *****
    B图:
    *
    **
    * *
    *  *
    *****
    C图:
        *
       ***
      *****
     *******
    *********
    D图:
        *    
       * *   
      *   *  
     *     * 
    *********
    E图:
    *
    ***
    *****
    ***
    *
    F图:
    *****
    * *
    * *
    * *
    *****