Java打印图形

2017-09-07  本文已影响0人  降龙十八段
public class Work12 {

    public static void main(String[] args) {
        /* 
        
        输出:
        *****
        ****
        ***
        **
        *
        要求,一次只能输出一个*,用for循环实现
            */
        
        for(int j = 1; j <= 5; j++){
            for(int i = 1; i <= 6-j; i++){
                System.out.print("*");
            }
            System.out.println();
        }



/* 
        
        输出:
        *******
         *****
          ***
           *
        要求,一次只能输出一个*,用for循环实现
            */
        
        //最外层for循环表示行数
        for(int j = 1; j <= 4; j++){
            //打印每一行的空格
            for(int i = 1; i <= j-1; i++){
                System.out.print(" ");
            }
            //打印每一行的*
            for(int i = 1; i <= 9-2*j; i++){
                System.out.print("*");
            }
            System.out.println();
        }


/* 
        
        输出:
        A
        BB
        CCC
        DDDD
        EEEEE
        要求,一次只能输出一个*,用for循环实现
            */
    
        char c = 64;
        
        //最外层for循环表示行数
        for(int j = 1; j <= 5; j++){
            for(int i = 1; i <= j; i++){
                System.out.print((char)(c+j));
            }
            System.out.println();
        }



/* 
        
        输出:
             *
            * *
           *   *
          *******
        要求,一次只能输出一个*,用for循环实现
            */
        
        
        //最外层for循环表示行数
        for(int j = 1; j <= 4; j++){
            for(int i = 1; i <= 4-j; i++){
                System.out.print(" ");
            }

            for(int i = 1; i <= 2*j-1; i++){
//              System.out.print("*");
                if(i == 1 || i == 2*j-1 || j == 4){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }

/* 
        
        输出:
             *
            * *
           *   *
          *******
        要求,一次只能输出一个*,用for循环实现
            */
        
        
        //最外层for循环表示行数
        for(int j = 1; j <= 4; j++){
            for(int i = 1; i <= 4-j; i++){
                System.out.print(" ");
            }

            for(int i = 1; i <= 2*j-1; i++){
//              System.out.print("*");
                if(i == 1 || i == 2*j-1 || j == 4){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }


/* 
        
        输出:
             *
            * *
           *   *
          *     *
           *   *
            * *
             *
        要求,一次只能输出一个*,用for循环实现
            */
        
        //上半部分
        for(int j = 1; j <= 4; j++){
            for(int i = 1; i <= 4-j; i++){
                System.out.print(" ");
            }

            for(int i = 1; i <= 2*j-1; i++){
//              System.out.print("*");
                if(i == 1 || i == 2*j-1){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
        
        //下半部分
        for(int j = 1; j <= 3; j++){
            //打印每一行的空格
            for(int i = 1; i <= j-1+1; i++){
                System.out.print(" ");
            }
            //打印每一行的*
            for(int i = 1; i <= 9-2*j-2; i++){
                if(i == 1 || i == 9-2*j-2){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
        



    }
}







import java.util.Scanner;


public class Work {

    public static void main(String[] args) {
        
        Scanner scan = new Scanner(System.in);
        boolean flag = true;
        //学生信息
        String[][] students = new String[1024][];
        //学生人数
        int count = 0;
        
        
        while(flag){
            
            System.out.println("******************************");
            System.out.println("*         学生管理系统                         *");
            System.out.println("*         请选择功能:                          *");
            System.out.println("*         1、录入学生信息                    *");
            System.out.println("*         2、查询学生信息                    *");
            System.out.println("*         3、删除学生信息                    *");
            System.out.println("*         4、修改学生信息                    *");
            System.out.println("*         5、退出管理系统                    *");
            System.out.println("******************************");
            System.out.print("请选择功能序号:");
            int code = scan.nextInt();
            switch(code){
            case 1:
                boolean flag1 = true;
                while(flag1){
                    System.out.println("现在开始录入第"+(count+1)+"个学生的信息:");
                    String stuno;
                    while(true){
                        System.out.print("请输入学号:");
                        stuno = scan.next();
                        //强输入的学号跟已有的学号进行比较
                        int i = 0;
                        for(; i < count; i++){
                            if(stuno.equals(students[i][0])){
                                System.out.println("该学号已存在,请重新输入!");
                                break;
                            }
                        }
                        if(i == count){
                            //学号输入正确,跳出while循环,继续像后面输入
                            break;
                        }
                    }
                    System.out.print("请输入姓名:");
                    String name = scan.next();
                    System.out.print("请输入年龄:");
                    String age = scan.next();
                    System.out.print("请输入性别:");
                    String gender = scan.next();
                    System.out.print("请输入电话:");
                    String telno = scan.next();
                    //将信息存入数组中
                    students[count] = new String[]{stuno,name,age,gender,telno};
                    //人数+1
                    count++;
                    System.out.print("单个学生信息录入完成,输入M/m返回菜单,输入F/f退出系统,输入其他继续录入:");
                    String s = scan.next();
                    if(s.equals("m") || s.equals("M")){
                        //返回菜单
                        flag = true;
                        flag1 = false;
                    }else if(s.equals("f") || s.equals("F")){
                        //退出系统,强制退出程序
                        System.out.println("谢谢使用,ヾ( ̄▽ ̄)Bye~Bye~");
                        System.exit(0);
                    }
                }
                break;
            case 2:
                //学生信息存于students二维数组中,遍历数组,显示信息
                System.out.println("共有"+count+"个学生,具体信息如下:");
                System.out.println("学号------姓名------性别------年龄------电话------");
                for(int i = 0; i < count; i++){
                    for(int j = 0; j < students[i].length; j++){
                        System.out.print(students[i][j]+"\t");
                    }
                    System.out.println();
                }
                System.out.println("---------------------------------------------");
                System.out.print("查询完成,输入F/f退出系统,输入其他返回菜单:");
                String s = scan.next();
                if(s.equals("f") || s.equals("F")){
                    //退出系统,强制退出程序
                    System.out.println("谢谢使用,ヾ( ̄▽ ̄)Bye~Bye~");
                    System.exit(0);
                }
                break;
            case 3:
                boolean flag3 = true;
                while(flag3){
                    System.out.print("请输入要删除的学生的学号:");
                    String stuno = scan.next();
                    //遍历所有学号
                    int i = 0;
                    for(; i < count; i++){
                        if(students[i][0].equals(stuno)){
                            //找到要删除的学生,暨从下标位i的位置开始,赋值为后一个元素的值
                            for(int j = i; j < count; j++){
                                students[i] = students[i+1];
                            }
                            
                            //删除完毕,跳出for循环
                            System.out.println("删除成功,输入F/f退出系统,输入其他返回菜单:");
                            s = scan.next();
                            if(s.equals("f") || s.equals("F")){
                                //退出系统,强制退出程序
                                System.out.println("谢谢使用,ヾ( ̄▽ ̄)Bye~Bye~");
                                System.exit(0);
                            }
                            //人数-1
                            count--;
                            //返回菜单
                            flag3 = false;
                            break;
                        }
                    }
                    if(i == count){
                        //没找到学生
                        System.out.println("没有找到学号为"+stuno+"的学生,输入r/R重新输入学号,输入F/f退出系统,输入其他返回菜单:");
                        s = scan.next();
                        if(s.equals("f") || s.equals("F")){
                            //退出系统,强制退出程序
                            System.out.println("谢谢使用,ヾ( ̄▽ ̄)Bye~Bye~");
                            System.exit(0);
                        }else if(!s.equals("r") && !s.equals("R")){
                            //输入其他,返回菜单
                            flag3 = false;
                        }
                    }
                }
                break;
            case 4:
                boolean flag2 = true;
                while(flag2){
                    System.out.print("请输入要修改的学生的学号:");
                    String stuno = scan.next();
                    //遍历所有学号
                    int i = 0;
                    for(; i < count; i++){
                        if(students[i][0].equals(stuno)){
                            //找到学生,接收新信息
                            System.out.print("请输入新的姓名:");
                            String name = scan.next();
                            System.out.print("请输入新的年龄:");
                            String age = scan.next();
                            System.out.print("请输入新的性别:");
                            String gender = scan.next();
                            System.out.print("请输入新的电话:");
                            String telno = scan.next();
                            //替换原有的信息(元素)
                            students[i] = new String[]{stuno,name,age,gender,telno};
                            System.out.print("修改成功,输入F/f退出系统,输入其他返回菜单:");
                            s = scan.next();
                            if(s.equals("f") || s.equals("F")){
                                //退出系统,强制退出程序
                                System.out.println("谢谢使用,ヾ( ̄▽ ̄)Bye~Bye~");
                                System.exit(0);
                            }
                            //修改结束,退出wile循环,返回菜单
                            flag2 = false;
                            //退出for循环(优化,提高程序的效率)
                            break;
                        }
                    }
                    if(i == count){
                        //没找到学生
                        System.out.println("没有找到学号为"+stuno+"的学生,输入r/R重新输入学号,输入F/f退出系统,输入其他返回菜单:");
                        s = scan.next();
                        if(s.equals("f") || s.equals("F")){
                            //退出系统,强制退出程序
                            System.out.println("谢谢使用,ヾ( ̄▽ ̄)Bye~Bye~");
                            System.exit(0);
                        }else if(!s.equals("r") && !s.equals("R")){
                            //输入其他,返回菜单
                            flag2 = false;
                        }
                    }
                }
                break;
            case 5:
                System.out.println("谢谢使用,ヾ( ̄▽ ̄)Bye~Bye~");
                //强制退出程序
                System.exit(0);
                break;
            default:
                System.out.println("输入有误,请重新输入:");
            }
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读