做了一个小型的成绩管理系统。主要代码如下:

/*
 * 功能:简易学生成绩管理系统
 */
package day7;

import java.util.Scanner;

public class HomeWork {
 static Scanner scan=new Scanner(System.in);
 static String[] user=new String[2];
 static String[] password=new String[2];
 static String[] name=new String[5];
 static int[] score=new int[name.length];
 static boolean c=false;
 public static void main(String[] args) {

fun();
 }
 public static void fun(){
  while(true){
  System.out.println("欢迎使用简易成绩管理系统0.0");
  System.out.println("A注册");
  System.out.println("B登录");
  System.out.println("C退出");

char str=scan.next().charAt(0);
  switch(str){
  case 'A':
   register(user,password);
   break;
  case 'B':
   login(user,password);
   break;
  case 'C':
   System.out.println("退出成功!!!");
   System.exit(0);
   break;
  default :
   System.out.println("输入有误,请重新输入。");
  }
  }
 
 }
 public static void register(String user[],String password[]){
  for (int i = 0; i < user.length; i++) {
   if(user[i]==null){System.out.println("请输入用户名:");
   user[i]=scan.next();
   System.out.println("请输入密码:");
   password[i]=scan.next();
   System.out.println("注册成功,返回登录!!!");
   fun();
   }

}
  System.out.println("用户已经达到上限,请联系管理员。");
  
  }
 
 public static void login(String user[],String password[]){
  System.out.println("请输入用户名");
  String str1=scan.next();
  System.out.println("请输入密码:");
  String str2=scan.next();
  for (int i = 0; i < user.length; i++) {
   if(str1.equals(user[i])&&str2.equals(password[i])){
    System.out.println("登录成功!!!欢迎您!!!");
    fun1();
   }else{
    System.out.println("没找到该用户!请重新登录");
    fun();
   }
  }
  
 }
 public static void fun1(){
  System.out.println("A增加学生分数信息");
  System.out.println("B修改学生分数信息");
  System.out.println("C删除学生分数信息");
  System.out.println("D查询学生信息");
  System.out.println("E返回上级菜单");
  char str=scan.next().charAt(0);
  switch(str){
  case 'A':
   add(name,score);
   break;
  case 'B':
   modify(name,score);
   break;
  case 'C':
   delete(name,score);
   break;
  case 'D':
   insert(name,score);
   break;
  case 'E':
   fun();
   break;
  }
  
 }
 public static void add(String[] name,int[] score){
  for (int i = 0; i < name.length; i++) {
   System.out.println("请输入第"+(i+1)+"个学生的名字:");
   name[i]=scan.next();
   System.out.println("请输入第"+(i+1)+"个学生的分数:");
   score[i]=scan.nextInt();
  }
  System.out.println("新增学生信息成功!!!返回上级菜单");
  fun1();
 }
 public static void delete(String[] name,int[] score){
  System.out.println("请输入你要删除的学生姓名:");
  String str=scan.next();   
  if(name[0].equals(str)){
   System.out.println("成功删除了"+name[0]+"的信息");
   for (int j = 0; j < name.length; j++) {
    name[j]=name[j+1];
    score[j]=score[j+1];
    c=true;
    }
   }
  if(name[name.length-1].equals(str)){
   System.out.println("成功删除了"+name[name.length-1]+"的信息");
   name[name.length-1]=null;
   score[score.length-1]=0;
   c=true;
  }
  for (int i = 1; i < name.length; i++) {

if(name[i-1].equals(str)){
    System.out.println("成功删除了"+name[i-1]+"的信息");
    name[i-1]=name[i];
    score[i-1]=score[i];
    c=true;
   }    
   }
  if(c){
   name[name.length-1]=null;
   score[score.length-1]=0;
   fun1();
  }else{
  System.out.println("没有找到该学的信息");
  fun1();
  }
  }
 public static void modify(String[] name,int[] score){
  System.out.println("请输入你要修改的学生姓名:");
  String str=scan.next();
  for (int i = 0; i < name.length; i++) {
   if(name[i].equals(str)){
    System.out.println("你要修改的是"+name[i]+"的分数,请输入你要修改的分数:");
    score[i]=scan.nextInt();
    System.out.println("修改成功!!!返回上级菜单");
    fun1();
   }else{
    System.out.println("没有找到该学的信息");
   }
  }
  
 }
 public static void insert(String[] name1,int[] score1){
  System.out.println("A查询一个学生分数:");
  System.out.println("B查询所有学生分数:");
  char str=scan.next().charAt(0);
  switch(str){
  case 'A':
   System.out.println("请输入查询的学生姓名:");
   String str1=scan.next();
   for (int i = 0; i < name1.length; i++) {
    if(name[i].equals(str1)){
     System.out.println("你查询的是"+name1[i]+"的分数,他的分数是:"+score1[i]);
     fun1();
    }
   }
   System.out.println("没有找到该学生的信息!!!");
   break;
  case 'B':
   for (int i = 0; i < name1.length; i++) {
    System.out.println(name1[i]+"的分数是:"+score1[i]);
   }
   break;
  }
  fun1();
 }
}

day7 方法及基础知识运用的更多相关文章

  1. 链方法[C# 基础知识系列]专题三:如何用委托包装多个方法——委托链

    最近研究链方法,稍微总结一下,以后继续补充: 弁言: 上一专题分析了下编译器是如何来翻译委托的,从中间语言的角度去看委托,希望可以帮助大家进一步的理解委托,然而之前的分析都是委托只是封装一个方法,那委 ...

  2. Nand Flash基础知识与坏块管理机制的研究

    概述 Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多存储设备,是以bit位为最小读取/写入的单位,Flash是一次性地擦除整个块:在发送一个擦除命令后,一次 ...

  3. Object&nbsp;c&nbsp;基础知识

    文件类型说明:.h 头文件,用于定义类.实例变量及类中的方法等定义信息(interface). .m 源文件,定义方法体,可实现objce-c和c方法(implementation). .mm c++ ...

  4. js基础知识温习:Javascript中如何模拟私有方法

    本文涉及的主题虽然很基础,在很多人眼里属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题.这里会涉及到对象属性的封装.原型.构造函数.闭包以及立即执行表达式等知识. 公有方法 公有方法 ...

  5. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  6. C#基础知识学习(1)方法的重写和隐藏

    做了1年多了C#,发现些项目过程中很多基础东西都不是很清晰,基础不够牢固.现在开始复习基础知识并做重点记录 方法需要被重写的时候,可以在方法前加入virtual使方法变成虚方法. 这样我们可以重新写个 ...

  7. Python入门方法推荐,哪些基础知识必学?

    很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...

  8. 数据结构和算法(Golang实现)(10)基础知识-算法复杂度主方法

    算法复杂度主方法 有时候,我们要评估一个算法的复杂度,但是算法被分散为几个递归的子问题,这样评估起来很难,有一个数学公式可以很快地评估出来. 一.复杂度主方法 主方法,也可以叫主定理.对于那些用分治法 ...

  9. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

随机推荐

  1. 1、数据库与excel表格的数据导入导出

    1.居民用户界面中,excel数据导入导出: 2.其他5张表数据显示到本角色主页的container容器中.

  2. 场景调研 persona

    1.姓名:王涛 2.年龄:22 3.收入:基本无收入 4.代表用户在市场上的比例和重要性:王涛为铁道学生.本软件的用户主要是学生和老师,尤其是广大的铁大学子,所以此典型用户的重要性不言而喻,而且比例相 ...

  3. 找"1"

    题目:给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的次数. 要求:1.写一个函数f(N),返回1到N之间出现“1”的个数.例如f(12)=5. 2.在32位整数范围内 ...

  4. b6

    吴晓晖(组长) 过去两天完成了哪些任务 对手写输入进行了重构,然后重新捋了一下bayes的思路 展示GitHub当日代码/文档签入记录 接下来的计划 推荐算法 还剩下哪些任务 组员:刘帅珍 过去两天完 ...

  5. Maven3 用Maven创建第一个web项目(2)servlet演示

    上一章用Maven新建了web项目成功后,本文演示在此基础上应用servlet. 1.首先修改pom.xml文件,添加servlet依赖 <project xmlns="http:// ...

  6. .Net用字符串拼接实现表格数据相同时合并单元格

    前言 最近在做项目通过GridView或Repeater绑定数据,如果两行或若干行某列值相同,需要进行合并单元格,但是实现过程中想到了字符串拼接,于是就没用绑定数据控件,而是用了html结合字符串实现 ...

  7. Java如何查看死锁?

    转载自 https://blog.csdn.net/u014039577/article/details/52351626 Java中当我们的开发涉及到多线程的时候,这个时候就很容易遇到死锁问题,刚开 ...

  8. 时空KSOA之CS表单工具说明

    CS表单工具说明 1.调用: 1.1.单据事件调用 runbill_表单sn 调用无窗口表单 loadbill_表单sn 调用窗口表单 1.2.功能调用 功能号:LOADCSBILL 参数表单名称 1 ...

  9. React之智能组件和木偶组件

    智能组件 VS 木偶组件 在 React + Redux 结合作为前端框架的时候,提出了一个将组件分为“智能”和“木偶”两种 智能组件:它是数据的所有者,它拥有数据.且拥有操作数据的action,但是 ...

  10. python自动化之邮件发送

    #!/usr/bin/env python # -*- coding:utf-8 -*- import smtplib from email.mime.multipart import MIMEMul ...