08月05日 星期三

学生管理系统
08月05日 星期三

定义方法的作用:

1、分而治之
2、实现代码的重用

形参:形参的本质是变量,目的是为了接受实参的值。
- 实参的作用是给形参变量赋什么样的值。实参可以是变量或常量,形参只能是变量。
- 形参和实参之间,在传参时,保证个数一致,类型一致,顺序一致。
- 如果一个方法返回一个类型,在调用方法时,可以建立一个返回类型变量,接受方法返回的值。
- 如果一个方法要返回一个类型,就意味着无论任何时候都必须有值的返回。

抽象:就是把一样的抽取出来。

变量:
  • 局部:
    局部变量声明在方法、构造方法或者语句块中;
    局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁(不能跨方法使用);
    访问修饰符不能用于局部变量;
    局部变量只在声明它的方法、构造方法或者语句块中可见;
    局部变量是在栈上分配的。
    局部变量没有默认值,所以局部变量量被声明后,必须经过初始化,才可以使用。

  • 全局变量:
    在整个类中都可以用。

break与return的区别:
  • break只能用在循环和switch中,一般表示提前结束循环,循环结束后,继续执行循环之外的代码。
  • return表示跳出方法,一旦执行了return,就会终止该方法中所有的代码执行。
package homeWork0805;

import javax.swing.JOptionPane;

public class landing2 {
    public static void main(String[] args) {
        JOptionPane.showMessageDialog(null, "欢迎来到学生管理系统!");
        boolean islogin = login();
        if(islogin == true){
            JOptionPane.showMessageDialog(null, "登陆成功");
            while (true) {
                String x = JOptionPane.showInputDialog("选着:\n1.添加\n2.删除\n3.查找\n4.显示\n5.修改\n6.排序\n7.退出");
                int xuanzhe = Integer.parseInt(x);
                switch (xuanzhe) {
                case 1:
                    add();
                    break;
                case 2:
                    del();
                    break;
                case 3:
                    save();
                    break;
                case 4:
                    show();
                    break;
                case 5:
                    change();
                    break;
                case 6:
                    sort();
                    break;
                case 7:
                    System.exit(0);
                    break;
                default:
                    JOptionPane.showMessageDialog(null, "请输入:1-7");
                    break;
                }
            }
        }
    }
    static int studentNum = 0;
    static String [] number = new String[20];
    static String [] name= new String[20]; 
    static int [] grade= new int[20];

    //把代码的下标找出来
    private static int findByNameID(){
        int  index = -1;
        String N = JOptionPane.showInputDialog("请输入你找的姓名!");
        for (int i = 0; i < studentNum; i++) {
            if (name[i].equals(N) ) {
                index = i;
                return index;
            }
        }JOptionPane.showMessageDialog(null, "用户不存在!");
        return index;
    }

    //添加
    private static void add() {
        number[studentNum] = JOptionPane.showInputDialog("请输入学号");
        name[studentNum]  = JOptionPane.showInputDialog("请输入名字");
        String x = JOptionPane.showInputDialog("请输入分数");
        grade[studentNum]  = Integer.parseInt(x);
        studentNum++;
        return;
    }
    //删除
    private static void del() {
        int index = findByNameID();
        if (index != -1) {
            for (int j = index; j < studentNum-1; j++) {
                name[j] = name[j+1];
                number[j] = number[j+1];
                grade[j] = grade[j+1];
            }studentNum--;
        }
        show();
    }
    //查询
    private static void save() {
        int index = findByNameID();
        if (index != -1) {
            JOptionPane.showMessageDialog(null, "此人是:"+name[index]+"学号:"+number[index]+"成绩:"+grade[index]+"下标:"+index);
        }
    }
    //显示
    private static void show() {
        // TODO Auto-generated method stub
        String str = "学号     名字     成绩\n";
        for (int i = 0; i < studentNum; i++) {
            str += number[i]+"  "+name[i]+"   "+grade[i]+"\n";
        }
        JOptionPane.showMessageDialog(null, str);
    }
    //修改
    private static void change() {
        int index = findByNameID();
        if (index != -1) {
            name[index] = JOptionPane.showInputDialog(name[index]+"姓名修改成:");
            String x1 = JOptionPane.showInputDialog(grade[index]+"成绩修改成:");
            grade[index]  = Integer.parseInt(x1);
            number[index] = JOptionPane.showInputDialog(number[index]+"学号修改成:");
        }
        show();
    }
    //排序
    private static void sort() {
        int y = JOptionPane.showConfirmDialog(null, "是否需想依照成绩排序?");
        if (y == 0) {
            for (int i = 0; i < studentNum; i++) {
                for (int j = i+1; j < studentNum; j++) {

                        if(grade[i]<grade[j]){
                            int temp1=grade[i];
                            grade[i]=grade[j];
                            grade[j]=temp1;
                            String temp2=name[i];
                            name[i] = name[j];
                            name[j] = temp2;
                            String temp3 =  number[i];
                            number[i] = number[j];
                            number[j] = temp3;
                        }
                    }
        }
            int f = JOptionPane.showConfirmDialog(null, "是否显示剩下学生?");
            if (f == 0) {
                show();
            }
        }
    }
    private static boolean login() {
        for (int i = 0; i < 3; i++) {
            String x = JOptionPane.showInputDialog("输入用户名!");
            String y =  JOptionPane.showInputDialog("请输入密码!");
            if (x.equals("123")&&y.equals("123")) {
                return true;
            }
        }JOptionPane.showMessageDialog(null, "非法用户。");
        return false;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值