一.主要内容
完成了一个简单的学生管理系统,有简单得学生管理系统主界面,可以完成学生信息的添加,删除,修改,查看等功能。具体实现思路是,第一步先创建一个学生类student,其中包含学生学号,姓名,年龄和地址,具体代码如下:
package xueshengguanli;
public class student {
String sid;
String name;
String age;
String address;
public student() {
}
public student( String sid,String name,String age,String address) {
this.name=name;
this.sid=sid;
this.age=age;
this.address=address;
}
public void setSid(String sid) {
this.sid = sid;
}
public void setName(String name) {
this.name = name;
}
public void setAge(String age) {
this.age = age;
}
public void setAddress(String address) {
this.address = address;
}
public String getSid() {
return sid;
}
public String getName() {
return name;
}
public String getAge() {
return age;
}
public String getAddress() {
return address;
}
}
第二步是学生管理系统主界面的编写,通过输出语句和switch语句编写出一个可以选择功能的主界面。
第三步创建功能方法,主要方法有添加学生方法,删除学生方法,修改学生方法,查看学生方法,其中使用了集合存储学生对象。
第四步在主函数中进行调用上述四种方法
第五步完善一些可能出现的输入错误等问题,比如学号重复使用的问题,为此添加了一个判断学号是否重复方法,并且在添加学生方法中进行调用,以及在删除或者修改学生信息时,输入的学号不存在问题,删除和修改方法进行了进一步完善。
最终代码如下:
package xueshengguanli;
import java.util.ArrayList;
import java.util.Scanner;
public class studentmanger {
public static void main(String [] args){
ArrayList<student> array=new ArrayList<student>();
while(true)
{
System.out.println("--------学生管理系统--------");
System.out.println("1.添加学生");
System.out.println("2.删除学生");
System.out.println("3.修改学生");
System.out.println("4.查看所有学生");
System.out.println("5.退出");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
switch(s)
{
case "1":
addstudent(array);
break;
case "2":
deletestudent(array);
break;
case "3":
updatestudent(array);
break;
case "4":
findallstudent(array);
break;
case "5":
System.out.println("谢谢使用");
System.exit(0);
default:
System.out.println("输入错误,请重新输入选项");
}
}
}
public static void addstudent(ArrayList<student> array)
{
Scanner sc=new Scanner(System.in);
String sid;
while(true)
{
System.out.println("请输入学生学号:");
sid=sc.nextLine();
boolean flag=isused(array,sid);
if(flag)
{
System.out.println("该学号已经被使用,请重新输入");
}
else break;
}
System.out.println("请输入学生姓名:");
String name=sc.nextLine();
System.out.println("请输入学生年龄:");
String age=sc.nextLine();
System.out.println("请输入学生地址:");
String address=sc.nextLine();
student x=new student();
x.setSid(sid);
x.setName(name);
x.setAge(age);
x.setAddress(address);
array.add(x);
System.out.println("添加学生成功");
}
public static boolean isused(ArrayList<student> array,String sid)
{
boolean flag=false;
for(int i=0;i<array.size();i++)
{
student x=array.get(i);
if(x.getSid().equals(sid))
{
flag=true;
break;
}
}
return flag;
}
public static void findallstudent(ArrayList<student> array)
{
if(array.size()==0)
{
System.out.println("无信息,请添加信息之后再查看");
return;
}
System.out.println("学号\t\t姓名\t年龄\t居住地");
for(int i=0;i<array.size();i++)
{
student s=array.get(i);
System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
}
}
public static void deletestudent(ArrayList<student> array)
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要删除的学生的学号:");
String sid=sc.nextLine();
int c=-1;
for(int i=0;i<array.size();i++)
{
student s=array.get(i);
if(s.getSid().equals(sid))
{
c=i;
break;
}
}
if(c==-1)
{
System.out.println("该信息不存在,请重新输入");
}
else {
array.remove(c);
System.out.println("删除学生成功");
}
}
public static void updatestudent(ArrayList<student> array)
{
int c=-1;
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要修改的学生学号:");
String sid=sc.nextLine();
student s=new student();
System.out.println("请输入新的学生学号:");
String sid2=sc.nextLine();
s.setSid(sid2);
System.out.println("请输入新的学生姓名:");
String name=sc.nextLine();
s.setName(name);
System.out.println("请输入新的学生年龄:");
String age=sc.nextLine();
s.setAge(age);
System.out.println("请输入新的学生地址:");
String address=sc.nextLine();
s.setAddress(address);
for(int i=0;i<array.size();i++)
{
student x=array.get(i);
if(x.getSid().equals(sid))
{
c=i;
break;
}
}
if(c==-1)
{
System.out.println("该信息不存在,请重新输入");
}
else {
array.set(c,s);
System.out.println("修改学生成功");
}
}
}
二.明天计划
读完《大道至简》第六章,构思读后感
三.今天所遇问题
刚开始使用java编程,对编译器的快捷键使用并不熟悉,编写程序比较缓慢
四.解决方法
尽快熟悉java编译器的快捷键使用,多练习java编程,提高自己编程速度。
标签:String,System,public,第二周,println,第五天,array,out From: https://www.cnblogs.com/czfznb/p/17531689.html