zoukankan      html  css  js  c++  java
  • 数组代码和经典案例

    数组特点和经典代码案例

    数组特点:

    1、  数组是一段连续的内存空间,下标从0开始,最大下标长度-1。

    2、  数组元素都是变量,变量的类型为定义数组的类型。

    3、  数组元素在创建数组时,会完成初始化。

    4、  数组创建后,长度不可改变。

    经典代码案例

    学生管理系统

    要求实现登陆,学生信息的添加、显示,删除,修改,查询,排序,退出功能。

    实现流程:

    1、  弹出欢迎界面

     

    2、  登陆业务:

    要求用户输入用户名和密码

     

    如果用户名和密码输入错误,给予提示,并让用户重新输入。

     

    如果用户三次以上没有输入正确信息,提示“非法用户”,并结束程序

     

    如果登陆成功。进入学生管理系统的主界面

     

    3、  选择操作。

    根据用户选择的选项,分别执行添加、删除、修改、查询,几个功能模块。要求使用函数调用实现。分别建立三个数组,分别保存学号、姓名、成绩。

    4、  添加

    分别提示用户输入学号、姓名、成绩,分别保存在三个数组中。

     

     

    5、  显示

    当用户添加完成后,回到主界面,选择显示选项后,显示现在所有学生信息。

    6、  删除

    提示用户输入要删除学生的姓名

     

    如果没有该学生,给予提示。

     

    完成删除操作,在现有的数组中移除数据。并显示删除后的结果。

     

    7、  查找

    提示用户输入要查找学生的姓名

     

    完成查找后,显示查找后的结果

     

    如果没有找到,给予提示

     

    8、  修改

    提示用户输入要修改学生的姓名

     

    如果没有该学生,给予提示。

     

    找到该学生后,提示用户重新输入学号、姓名、成绩

     

     

    完成数据录入后,显示修改后的结果

    9、  排序

        按成绩降序显示输出

    10、              退出

    选择退出后,结束程序。

     代码:

      1 package Myhomework;
      2 /**
      3  * 学生管理系统
      4  */
      5 import javax.swing.JOptionPane;
      6 
      7 public class Myhomework11 {
      8     /** 学号数组 */
      9     public static int[] student = new int[1000];
     10     /** 姓名数组 */
     11     public static String[] name = new String[1000];
     12     /** 成绩数组 */
     13     public static int[] grade = new int[1000];
     14     public static int number = 0 ;
     15 
     16     public static void main(String[] args) {
     17         JOptionPane.showMessageDialog(null, "欢迎光临");
     18         boolean isLand = login();
     19         if (isLand == false) {
     20             JOptionPane.showMessageDialog(null, "非法用户");
     21             System.exit(0);
     22         }
     23     
     24     while(true){
     25         String s=JOptionPane.showInputDialog(null,"1、添加  2、显示 3、删除 4、查找 5、修改 6、排序 7、退出");
     26         int item=Integer.parseInt(s);
     27         switch(item){
     28         case(1):
     29         add();//添加
     30         break;
     31         case(2):
     32         show();//显示
     33         break;
     34         case(3):
     35         del();//删除
     36         break;
     37         case(4):
     38         find();//查找
     39         break;
     40         case(5):
     41         amend();//修改
     42         break;
     43         case(6):
     44         rank();//排序
     45         break;
     46         case(7):
     47         System.out.print("退出");//退出
     48         System.exit(0);
     49         }
     50         
     51     }
     52         
     53     }
     54     
     55     
     56     /**
     57      * 查找
     58      */
     59     public static void find() {
     60         int index = findName();
     61         if(index!=-1){
     62         JOptionPane.showMessageDialog(null,"学号为:"+student[index]+" "+"姓名为:"+name[index]+" "+"成绩为:"+grade[index]);
     63         }
     64         }
     65     /**
     66      * 删除
     67      */
     68     public static void del(){
     69         int index = findName();
     70         if(index!=-1){
     71         for(int i = index ; i < number ; i++){
     72         student[i] = student[i+1];
     73         name[i] = name[i+1];
     74         grade[i] = grade[i+1];
     75 
     76         }
     77         number--;
     78         show();
     79         }
     80     }
     81     /**
     82      * 修改
     83      */
     84     
     85     public static void amend(){
     86         int index = findName();
     87         if(index!=-1){
     88         String newstudent = JOptionPane.showInputDialog(null,"请重新输入学号");
     89         String newname = JOptionPane.showInputDialog(null,"请重新输入姓名");
     90         String newgrade = JOptionPane.showInputDialog(null,"请重新输入成绩");
     91         student[index] = Integer.parseInt(newstudent);
     92         name[index] = newname;
     93         grade[index] = Integer.parseInt(newgrade);
     94         show();
     95         }
     96     }
     97     /**
     98      * 排序
     99      */
    100     
    101     public static void rank(){
    102         for(int i = 0; i < number; i++){
    103             for(int j = i+1; j < number; j++){
    104             if(grade[i]<grade[j]){
    105             int num1 = student[i];
    106             student[i] = student[j];
    107             student[j] = num1;
    108             String num2 = name[i];
    109             name[i] = name[j];
    110             name[j] = num2;
    111             int num3 = grade[i];
    112             grade[i] = grade[j];
    113             grade[j] = num3;
    114             }
    115             }
    116         }
    117             show();
    118     }
    119     /**
    120      * 显示
    121      */
    122     public static void show(){
    123         String str="学号  姓名  成绩
    ";
    124         for(int i=0;i<number;i++){
    125         str +=student[i]+"     "+name[i]+"    "+grade[i]+"
    ";
    126         }
    127         JOptionPane.showMessageDialog(null, str);
    128     }
    129     /**
    130      * 添加
    131      */
    132     public static void add(){
    133     String student1 =JOptionPane.showInputDialog(null,"请添加学号");
    134     String name1=JOptionPane.showInputDialog(null,"请输入姓名");
    135     String grade1=JOptionPane.showInputDialog(null,"请输入成绩");
    136     student[number]=Integer.parseInt(student1);
    137     name[number]=name1;
    138     grade[number]=Integer.parseInt(grade1);
    139     number++;
    140     }
    141     /**
    142      * 登录
    143      * @return 登录是否成功
    144      */
    145     
    146     public static boolean login(){
    147         for(int i=0;i<3;i++){
    148     String code=JOptionPane.showInputDialog(null,"请输入用户名");
    149     String pwd=JOptionPane.showInputDialog(null,"请输入密码");
    150     if(code.equals("张二狗")&&(pwd.equals("123456"))){
    151         return true;
    152     }else{
    153         JOptionPane.showMessageDialog(null, "用户名或密码错误");
    154         if(i<=1){
    155         JOptionPane.showMessageDialog(null, "你还有"+(2-i)+"次机会");
    156     }else{
    157         JOptionPane.showMessageDialog(null, "你已经连续三次输错,已无机会");
    158     }
    159     }    
    160         }
    161         return false;
    162         
    163     }
    164     /**
    165      * 寻找姓名在该姓名下的下标,如果没有找到返回-1
    166      * @param name 
    167      * 
    168      * @return 姓名对应的下标
    169      */
    170 
    171 public static int findName(){
    172     String nameStr = JOptionPane.showInputDialog(null,"请输入姓名");
    173     for(int i = 0 ; i <number;i++ ){
    174     if(nameStr.equals(name[i])){
    175     return i;
    176     }
    177     }
    178     JOptionPane.showMessageDialog(null,"查无此人");
    179     return-1;
    180     }
    181 }
  • 相关阅读:
    Centos 7 开放查看端口 防火墙关闭打开
    idea将项目导出为war包
    webstorm 注册服务器
    centos 6.4系统双网卡绑定配置详解
    centos所有版本镜像下载地址
    浅谈Nginx负载均衡与F5的区别
    勒索病毒应急响应计划
    Python网络编程常用代码
    Flask debug 模式 PIN 码生成机制安全性研究笔记
    Pythonic定义
  • 原文地址:https://www.cnblogs.com/zhaoyihaohaoxuexi/p/6753949.html
Copyright © 2011-2022 走看看