用Java程序设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能

用Java程序设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能,第1张

哎、 老大、你该不会让 帮你写 毕业试题吧!!!

不过 帮你分析 一下吧!! 我也是 新手!!!

1、首先 创建数据库 (以为你的需求较少 不用写项目文档了 直奔主题好了)

学生表(Students) 学分表(Score)学科表(Greade) 估计这三个就 够用了(不够你在添加、、)

2、(使用JSP 完成)创建 页面 (根据你的需求 创建吧)以及导入数据库 驱动、、、

3、数据库连接类、实体类、 Dao 类、业务类!

4、你的录入,查、修改、分别 用

1、insert into (表名)values(列值)

2、select * (或 列名) from 表名 where =?;

3、delete * from 表名 where=?;

4、关于页面的 验证 你在 创建 jsp 页面时, 添加 javascript 进行 验证 就行了!!

四、到此 分析完了 说实话、这项目 不难、朋友如果你动手的话,也就三四个小时 就K.O了!!

学习 要肯动手!!! 加油啊!!! 傍晚 快乐! 选我 吧!Thanks

import java.awt.*

import java.awt.event.*

import javax.swing.*

import java.io.*

import java.util.*

class Student implements java.io.Serializable{

String number,name,specialty,grade,borth,sex

public Student(){}

public void setNumber(String number){ this.number=number}

public String getNumber(){ return number}

public void setName(String name){ this.name=name}

public String getName(){ return name}

public void setSex(String sex){ this.sex=sex}

public String getSex(){ return sex}

public void setSpecialty(String specialty){ this.specialty=specialty}

public String getSpecialty(){ return specialty}

public void setGrade(String grade){ this.grade=grade}

public String getGrade(){ return grade}

public void setBorth(String borth){ this.borth=borth}

public String getBorth(){ return borth}

}

public class StudentManager extends JFrame{

JLabel lb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" +

"内容改后的保存!")

JTextField 学号,姓名,专业,年级,出生

JRadioButton 男,女

ButtonGroup group=null

JButton 录入,查询,删除,修改,显示

JPanel p1,p2,p3,p4,p5,p6,pv,ph

Student 学生=null

Hashtable 学生散列表=null

File file=null

FileInputStream inOne=null

ObjectInputStream inTwo=null

FileOutputStream outOne=null

ObjectOutputStream outTwo=null

public StudentManager(){

super("学生基本信息管理系统")

学号=new JTextField(10)

姓名=new JTextField(10)

专业=new JTextField(10)

年级=new JTextField(10)

出生=new JTextField(10)

group=new ButtonGroup()

男=new JRadioButton("男",true)

女=new JRadioButton("女",false)

group.add(男)

group.add(女)

录入=new JButton("录入")

查询=new JButton("查询")

删除=new JButton("删除")

修改=new JButton("修改")

显示=new JButton("显示")

录入.addActionListener(new InputAct())

查询.addActionListener(new InquestAct())

修改.addActionListener(new ModifyAct())

删除.addActionListener(new DeleteAct())

显示.addActionListener(new ShowAct())

修改.setEnabled(false)

p1=new JPanel()

p1.add(new JLabel("学号:",JLabel.CENTER))

p1.add(学号)

p2=new JPanel()

p2.add(new JLabel("姓名:",JLabel.CENTER))

p2.add(姓名)

p3=new JPanel()

p3.add(new JLabel("性别:",JLabel.CENTER))

p3.add(男)

p3.add(女)

p4=new JPanel()

p4.add(new JLabel("专业:",JLabel.CENTER))

p4.add(专业)

p5=new JPanel()

p5.add(new JLabel("年级:",JLabel.CENTER))

p5.add(年级)

p6=new JPanel()

p6.add(new JLabel("出生:",JLabel.CENTER))

p6.add(出生)

pv=new JPanel()

pv.setLayout(new GridLayout(6,1))

pv.add(p1)

pv.add(p2)

pv.add(p3)

pv.add(p4)

pv.add(p5)

pv.add(p6)

ph=new JPanel()

ph.add(录入)

ph.add(查询)

ph.add(修改)

ph.add(删除)

ph.add(显示)

file=new File("学生信息.txt")

学生散列表=new Hashtable()

if(!file.exists()){

try{

FileOutputStream out=new FileOutputStream(file)

ObjectOutputStream objectOut=new ObjectOutputStream(out)

objectOut.writeObject(学生散列表)

objectOut.close()

out.close()

}

catch(IOException e){}

}

Container con=getContentPane()

con.setLayout(new BorderLayout())

con.add(lb, BorderLayout.NORTH)

con.add(pv, BorderLayout.CENTER)

con.add(ph, BorderLayout.SOUTH)

setDefaultCloseOperation(EXIT_ON_CLOSE)

setBounds(100,100,600,300)

setVisible(true)

}

public static void main(String[] args) {new StudentManager()}

class InputAct implements ActionListener{

public void actionPerformed(ActionEvent e){

修改.setEnabled(false)

String number=""

number=学号.getText()

if(number.length()>0){

try{

inOne=new FileInputStream(file)

inTwo=new ObjectInputStream(inOne)

学生散列表=(Hashtable)inTwo.readObject()

inOne.close()

inTwo.close()

}

catch(Exception ee){System.out.println("创建散列表出现问题!")}

if(学生散列表.containsKey(number)){

String warning="该生信息已存在,请到修改页面修改!"

JOptionPane.showMessageDialog(null,warning,"警告",

JOptionPane.WARNING_MESSAGE)

}//end if1

else{

String m="该生信息将被录入!"

int ok=JOptionPane.showConfirmDialog(null,m,"确认",

JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE)

if(ok==JOptionPane.YES_OPTION){

String name=姓名.getText()

String specialty=专业.getText()

String grade=年级.getText()

String borth=出生.getText()

String sex=null

if(男.isSelected()){sex=男.getText()}

else{sex=女.getText()}

学生=new Student()

学生.setNumber(number)

学生.setName(name)

学生.setSpecialty(specialty)

学生.setGrade(grade)

学生.setBorth(borth)

学生.setSex(sex)

try{

outOne=new FileOutputStream(file)

outTwo=new ObjectOutputStream(outOne)

学生散列表.put(number,学生)

outTwo.writeObject(学生散列表)

outTwo.close()

outOne.close()

}

catch(Exception ee){System.out.println("输出散列表出现问题!")}

学号.setText(null)

姓名.setText(null)

专业.setText(null)

年级.setText(null)

出生.setText(null)

}

}//end else1

}//end if0

else{

String warning="必须输入学号!"

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE)

}//end else0

}//end actionPerformed

}//end class

class InquestAct implements ActionListener{

public void actionPerformed(ActionEvent e){

String number=""

number=学号.getText()

if(number.length()>0){

try{

inOne=new FileInputStream(file)

inTwo=new ObjectInputStream(inOne)

学生散列表=(Hashtable)inTwo.readObject()

inOne.close()

inTwo.close()

}

catch(Exception ee){System.out.println("散列表有问题!")}

if(学生散列表.containsKey(number)){

修改.setEnabled(true)

Student stu=(Student)学生散列表.get(number)

姓名.setText(stu.getName())

专业.setText(stu.getSpecialty())

年级.setText(stu.getGrade())

出生.setText(stu.getBorth())

if(stu.getSex().equals("男")){男.setSelected(true)}

else{女.setSelected(true)}

}

else{

修改.setEnabled(false)

String warning="该学号不存在!"

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE)

}

}

else{

修改.setEnabled(false)

String warning="必须输入学号!"

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE)

}

}

}

class ModifyAct implements ActionListener{

public void actionPerformed(ActionEvent e){

String number=学号.getText()

String name=姓名.getText()

String specialty=专业.getText()

String grade=年级.getText()

String borth=出生.getText()

String sex=null

if(男.isSelected()){sex=男.getText()}

else{sex=女.getText()}

Student 学生=new Student()

学生.setNumber(number)

学生.setName(name)

学生.setSpecialty(specialty)

学生.setGrade(grade)

学生.setBorth(borth)

学生.setSex(sex)

try{

outOne=new FileOutputStream(file)

outTwo=new ObjectOutputStream(outOne)

学生散列表.put(number, 学生)

outTwo.writeObject(学生散列表)

outTwo.close()

outOne.close()

学号.setText(null)

姓名.setText(null)

专业.setText(null)

年级.setText(null)

出生.setText(null)

}

catch(Exception ee){

System.out.println("录入修改出现异常!")

修改.setEnabled(false)

}

}

}

class DeleteAct implements ActionListener{

public void actionPerformed(ActionEvent e){

修改.setEnabled(false)

String number=学号.getText()

if(number.length()>0){

try{

inOne=new FileInputStream(file)

inTwo=new ObjectInputStream(inOne)

学生散列表=(Hashtable)inTwo.readObject()

inOne.close()

inTwo.close()

}

catch(Exception ee){}

if(学生散列表.containsKey(number)){

Student stu=(Student)学生散列表.get(number)

姓名.setText(stu.getName())

专业.setText(stu.getSpecialty())

年级.setText(stu.getGrade())

出生.setText(stu.getBorth())

if(stu.getSex().equals("男")){男.setSelected(true)}

else{女.setSelected(true)}

}

String m="确定要删除该学生的记录吗?"

int ok=JOptionPane.showConfirmDialog(null,m,"确认",

JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)

if(ok==JOptionPane.YES_OPTION){

学生散列表.remove(number)

try{

outOne=new FileOutputStream(file)

outTwo=new ObjectOutputStream(outOne)

outTwo.writeObject(学生散列表)

outTwo.close()

outOne.close()

学号.setText(null)

姓名.setText(null)

专业.setText(null)

年级.setText(null)

出生.setText(null)

}

catch(Exception ee){System.out.println(ee)}

}

else if(ok==JOptionPane.NO_OPTION){

学号.setText(null)

姓名.setText(null)

专业.setText(null)

年级.setText(null)

出生.setText(null)

}

else{

String warning="该学号不存在!"

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE)

}

}

else{

String warning="必须输入学号!"

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE)

}

}

}

class ShowAct implements ActionListener{

public void actionPerformed(ActionEvent e){

new StudentShow(file)

}

}

class StudentShow extends JDialog{

Hashtable 学生散列表= null

JTextArea 显示=null

FileInputStream inOne=null

ObjectInputStream inTwo=null

File file=null

public StudentShow(File file){

super(new JFrame(),"显示对话框")

this.file=file

显示=new JTextArea(16,30)

try{

inOne=new FileInputStream(file)

inTwo=new ObjectInputStream(inOne)

学生散列表=(Hashtable)inTwo.readObject()

inOne.close()

inTwo.close()

}

catch(Exception ee){}

if(学生散列表.isEmpty())显示.append("目前还没有学生的信息记录!\n")

else{

显示.setText("学号 姓名 性别 专业 年级 出生\n")

for(Enumeration enm=学生散列表.elements()enm.hasMoreElements()){

Student stu=(Student)enm.nextElement()

String sex=""

if(stu.getSex().equals("男"))sex="男"

else sex="女"

String str=stu.getNumber()+","+stu.getName()+","+sex+","

+stu.getSpecialty()+","+stu.getGrade()+","+stu.getBorth()+"\n"

显示.append(str)

}

}

JScrollPane scroll=new JScrollPane(显示)

Container con=getContentPane()

con.add("Center",scroll)

con.validate()

setVisible(true)

setBounds(200,200,400,300)

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){setVisible(false)}

}

)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11859224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存