- package 小程序题;
- //导包
- import java.util.Scanner;
- /**
- * @author
- * "请选择需要进入的系统 "+"\n"+
- * "*【1】显示所有学生学号"+"\n"+
- * "*【2】添加学生学号"+"\n"+
- * "*【3】删除学生学号"+"\n"+
- * "*【4】修改学生学号"+"\n"+
- * "*【5】退出学生学号系统"+);
- */
- public class Text成员管理2 {
- //主函数
- public static void main(String[] args){
- //可以先设置初始 数组 也可弄一个空的数组
- String a[]= {"小花","小绿","小黑"};
- System.out.println("=============欢迎进入Zpark学生录入系统================ "+"\n"+
- "*【1】显示所有学生姓名"+"\n"+
- "*【2】添加学生姓名"+"\n"+
- "*【3】删除学生姓名"+"\n"+
- "*【4】修改学生姓名"+"\n"+
- "*【5】退出学生管理系统"+"\n"+
- "*请做出你的选择");
- //通过遍历数组打印所有的数组
- for(int i=0;;i++) {
- Scanner sc=new Scanner(System.in);
- int n=sc.nextInt();
- //通过switch条件分支选择进入数组的扩容或者进入数组的删除 或者对数组进行修改
- switch(n) {
- case 1:{
- System.out.println("所有的学生姓名为:");
- for(int j=0;j<a.length;j++) {
- System.out.print(a[j]+" ");
- }System.out.println();
- break;
- }
- case 2:{
- a=tianJia(a);
- break;
- }
- case 3:{
- a=shanChu(a);
- break;
- }
- case 4:{
- a=xiuGai(a);
- break;
- }
- case 5:{
- return;
- }
- }
- }
- }
- //建立一个扩容的函数,通过主函数的调用进行使用
- public static String[] tianJia(String[] a) {
- for(int i=0;;i++) {
- String[] b=new String[a.length+1];
- System.out.println("请输入一个需要添加的学生姓名:");
- Scanner sc=new Scanner(System.in);
- String c=sc.next();
- System.out.println("请输入一个需要添加的位置:");
- int t=sc.nextInt();
- //利用for循环进行循环赋值 将数组a的数值全部转移到数组b中
- for(int m=0;m<a.length;m++) {
- b[m]=a[m];
- }
- //将需要添加的位置空出
- for(int n=b.length;n>t;n--) {
- b[n-1]=a[n-2];
- }
- //将需要添加的数赋值给需要添加的位置
- b[t-1]=c;
- a=b;
- for(int j=0;j<a.length;j++) {
- System.out.print(a[j]+" ");
- }
- System.out.println();
- //通过一个if条件分支进行for循环的控制
- System.out.println("继续输入请输入(y/Y)");
- String choice = sc.next();
- if(choice.equals("y")||choice.equals("Y")){
- }else {
- break;
- }
- }
- return a;
- }
- //建立一个删除的函数,通过主函数的调用进行使用
- public static String[] shanChu(String[] a){
- for(int i=0;;i++) {
- String[] b=new String[a.length-1];
- Scanner sc=new Scanner(System.in);
- //通过调用下面查找函数的方法查找需要删除的数组下标
- int t=chaZhao(a);
- //如果需要删除的数据 此数组不包含则 会返回-1 那么这时候就重新开始循环
- if(t==-1) {
- System.out.println("请输入有效学生学号:");
- return a;
- }
- //循环赋值到需要删除数据的前一个数
- for(int j=0;j<t;j++) {
- b[j]=a[j];
- }
- //从需要删除的下一个数开始循环赋值
- for(int k=b.length;k>t;k--) {
- b[k-1]=a[k];
- }
- //将b的属性赋值给a
- a=b;
- for(int l=0;l<a.length;l++) {
- System.out.print(a[l]+" ");
- }
- System.out.println();
- //通过一个if条件分支对for进行循环控制
- System.out.println("继续删除请输入(y/Y)");
- String choice = sc.next();
- if(choice.equals("y")||choice.equals("Y")){
- }
- else {
- break;
- }
- }
- return a;
- }
- public static String[] xiuGai(String[] a) {
- int t=chaZhao(a);
- if(t==-1) {
- System.out.println("请输入有效学生学号:");
- return a;
- }
- System.out.println("请输入需要修改后的学号:");
- Scanner sc=new Scanner(System.in);
- String s=sc.next();
- a[t]=s;
- for(int l=0;l<a.length;l++) {
- System.out.print(a[l]+" ");
- }
- System.out.println();
- System.out.println("继续修改请输入(y/Y)");
- String choice = sc.next();
- if(choice.equals("y")||choice.equals("Y")){
- }
- else {
- return a;
- }
- return a;
- }
- //建立了能查找所输入数据下标的函数
- public static int chaZhao(String[] a) {
- System.out.println("请输入一个的学生姓名:");
- Scanner sc=new Scanner(System.in);
- String s=sc.next();
- for(int i=0;i<a.length;i++) {
- if(a[i].equals(s)) {
- return i;
- }
- }
- return -1;
- }
- }