黑马程序员技术交流社区

标题: 控制台打印一个菱形的代码 [打印本页]

作者: 敲敲乐z    时间: 2016-8-12 21:40
标题: 控制台打印一个菱形的代码
import java.util.Scanner;
class Test {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.print("输入一个整数:");
                int num = sc.nextInt();
                print(num);                                                                               
                print1(num);                                                                       
        }
        public static void print(int a) {                                       
                for (int i =1;i <= a ;i++ ) {                                       
                        for (int j = 1;j <= 2*i-1 ;j++ ) {                       
                                if (j == 1) {                                                       
                                        for (int m = 1;m <= a-i ;m++ ) {       
                                                System.out.print(" ");
                                        }
                                }
                                System.out.print("*");
                        }
                        System.out.println();
                }       

        }
        public static void print1(int b) {
                        for (int x = b-1;x >= 1 ;x-- ) {
                        for (int y = 1;y <= 2*x-1 ;y++ ) {
                                if (y == 1) {
                                        for (int n = 0;n <= b-1-x ;n++ ) {
                                                System.out.print(" ");
                                        }
                                }
                                System.out.print("*");
                        }
                        System.out.println();
                }
        }
}

作者: luliang    时间: 2016-8-12 22:25
class LingXing {
        public static void main(String[] args) {
                for (int i = 1;i<=5 ;i++ ) {
                        for (int a = 1;a<=5-i ;a++ ) {
                                System.out.print(" ");
                        }
                        for (int d = 1;d<=i ;d++ ) {
                                System.out.print("* ");
                        }
                        System.out.println();
                }
                for (int i = 4;i>=1 ;i-- ) {
                        for (int a = 1;a<=5-i ;a++ ) {
                                System.out.print(" ");
                        }
                                for (int s = 1;s<=i ;s++ ) {
                                System.out.print("* ");                               
                        }
                        System.out.println();
        }
}
}
还有这样的
作者: 乐仔其中    时间: 2016-8-12 22:50
[Java] 纯文本查看 复制代码
/*
分析:
                1.键盘录入菱形的边长a,先创建键盘录入对象
                2.遍历*:for循环嵌套使用        i代表行数,x代表每行*的个数
                3.使得*能够在布局上更加可观,需要在每行前面加上对应的空格
                        第i行 *前空出 a-i个单位
                        *与*之间空出 1 个单位的空格,空格数必须为奇数
                4.为了输出效果为正菱形
                        第i行 *前空出单位须为 两个空格符
                        *与*之间空出 三个空格符
*/
import java.util.Scanner;
class day3_05{
        public static void main(String[] args){
                //创建键盘录入对象
                Scanner sc = new Scanner(System.in);
       
                //获取菱形的边长
                System.out.println("请输入菱形的边长");
                int a = sc.nextInt();
                int z;
                //菱形上半部分
                for(int i = 1;i <= a;i++){
                       
                        z = a - i;

                        for(int x = 1;x <=i;x++){
                               
                                //*前加入z个空格,使每行成阶梯状
                                while(z >= 1){
                                        System.out.print("  ");
                                        z--;
                                }
                                //*后面加空格,是的每行*之间保持适当间距
                                System.out.print("*"+"   ");
                       
                        }
                        System.out.println();
                }
               
                //菱形下半部分
                for(int i = a-1;i >= 1;i--){
                       
                        z = a - i;

                        for(int x = i;x >=1;x--){
                               
                                while(z >= 1){
                                        System.out.print("  ");
                                        z--;
                                }
                                System.out.print("*"+"   ");
                       
                        }
                        System.out.println();
                }
        }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2