day7 方法及基础知识运用
做了一个小型的成绩管理系统。主要代码如下:
/*
* 功能:简易学生成绩管理系统
*/
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 方法及基础知识运用的更多相关文章
- 链方法[C# 基础知识系列]专题三:如何用委托包装多个方法——委托链
最近研究链方法,稍微总结一下,以后继续补充: 弁言: 上一专题分析了下编译器是如何来翻译委托的,从中间语言的角度去看委托,希望可以帮助大家进一步的理解委托,然而之前的分析都是委托只是封装一个方法,那委 ...
- Nand Flash基础知识与坏块管理机制的研究
概述 Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多存储设备,是以bit位为最小读取/写入的单位,Flash是一次性地擦除整个块:在发送一个擦除命令后,一次 ...
- Object c 基础知识
文件类型说明:.h 头文件,用于定义类.实例变量及类中的方法等定义信息(interface). .m 源文件,定义方法体,可实现objce-c和c方法(implementation). .mm c++ ...
- js基础知识温习:Javascript中如何模拟私有方法
本文涉及的主题虽然很基础,在很多人眼里属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题.这里会涉及到对象属性的封装.原型.构造函数.闭包以及立即执行表达式等知识. 公有方法 公有方法 ...
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- C#基础知识学习(1)方法的重写和隐藏
做了1年多了C#,发现些项目过程中很多基础东西都不是很清晰,基础不够牢固.现在开始复习基础知识并做重点记录 方法需要被重写的时候,可以在方法前加入virtual使方法变成虚方法. 这样我们可以重新写个 ...
- Python入门方法推荐,哪些基础知识必学?
很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...
- 数据结构和算法(Golang实现)(10)基础知识-算法复杂度主方法
算法复杂度主方法 有时候,我们要评估一个算法的复杂度,但是算法被分散为几个递归的子问题,这样评估起来很难,有一个数学公式可以很快地评估出来. 一.复杂度主方法 主方法,也可以叫主定理.对于那些用分治法 ...
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
随机推荐
- 第十章I/O
系统级i/o 开始进程时的三个标准: 标准输入(描述符0):STDIN_FILENO 标准输出(描述符1):STDOUT_FILENO 标准错误(描述符2):STDERR_FILENO 文件位置: 从 ...
- Leetcode题库——8.字符串转为整数【##】
@author: ZZQ @software: PyCharm @file: myAtoi.py @time: 2018/9/20 20:54 要求:实现 atoi,将字符串转为整数. 1)根据需要丢 ...
- 深入理解JAVA集合系列一:HashMap源码解读
初认HashMap 基于哈希表(即散列表)的Map接口的实现,此实现提供所有可选的映射操作,并允许使用null值和null键. HashMap继承于AbstractMap,实现了Map.Cloneab ...
- docker中间件安装记录
rabbitmq docker pull rabbitmq docker run --restart=on-failure: --name rabbitmq -d -p : -p : docker.i ...
- React之智能组件和木偶组件
智能组件 VS 木偶组件 在 React + Redux 结合作为前端框架的时候,提出了一个将组件分为“智能”和“木偶”两种 智能组件:它是数据的所有者,它拥有数据.且拥有操作数据的action,但是 ...
- Vue 中使用UEditor富文本编辑器-亲测可用-vue-ueditor-wrap
其中UEditor中也存在不少错误,再引用过程中. 但是UEditor相对还是比较好用的一个富文本编辑器. vue-ueditor-wrap说明 Vue + UEditor + v-model 双向绑 ...
- SpringBoot之使用jpa/hibernate
Springboot版本是2.1.3.RELEASE 1.依赖 List-1.1 <dependency> <groupId>org.springframework.boot& ...
- 【HBuilder】手机App推送至Apple App Store过程
一.前言 最近由于公司同事离职,顶替这位同事从事手机App的研发工作,BIM数据平台部门采用的是HBuilder作为手机App的制作环境.本篇介绍我是如何将HBuilder的Releas ...
- Merge Intervals - LeetCode
目录 题目链接 注意点 解法 小结 题目链接 Merge Intervals - LeetCode 注意点 区间是无序的 每个区间start一定小于end 解法 解法一:首先以start的值从小到大来 ...
- Valid Parentheses - LeetCode
目录 题目链接 注意点 解法 小结 题目链接 Valid Parentheses - LeetCode 注意点 考虑输入为空的情况 解法 解法一:如果是'('.'{'.'['这三者就入栈,否则就判断栈 ...