2学生管理系统自然少不了数据库。
JAVA的JDBC非常成熟,可以很简便的访问数据库。C访问数据库的库相对复杂,而且风格各异,需要一段时间学习和适应
3 JAVA语言相对简单,其内存回收,分配基本上都由系统完成。而C则需要自己完成。这意味着程序员需要花很多时间处理内存泄露问题。
importjava.awt.*\x0d\x0aimportjava.awt.event.*\x0d\x0aimportjava.applet.*\x0d\x0aimportjava.applet.Applet\x0d\x0aimportjava.io.*\x0d\x0aimportjavax.xml.parsers.DoumentBuilderFactory\x0d\x0a\x0d\x0apublicclassUserPanelextendsAppletimplentsActionListener\x0d\x0a{\x0d\x0aLabellblName,lblNumber,lblSex,lblJob,lblText\x0d\x0aTextFieletfName.tfNumber\x0d\x0acheckboxchMale,chFemale\x0d\x0aTextAreataText\x0d\x0achoicechJob\x0d\x0aButtonbtnOk,btnDisply\x0d\x0aPanelp1,p2,p3,p4,p5,p6,p7,p8,p9\x0d\x0aStringstrName,strNumber,strSex,strJob,strText\x0d\x0a\x0d\x0apublicvoidinit()\x0d\x0a{\x0d\x0alblName=newLabel("姓名")\x0d\x0alblNumber=newLabel("身份证号")\x0d\x0alblSex=newLabel("性别")\x0d\x0alblJob=newLabel("职业")\x0d\x0alblText=newLabel("个性化宣言")\x0d\x0atfName=newTextField(23)\x0d\x0atfNumber=newTextFidle(20)\x0d\x0ataText=newTextArea(10,20)\x0d\x0ac=newcheckboxGroup()\x0d\x0achMale=newcheckbox("男",c,true)\x0d\x0achFemale=newcheckbox("女",c,false)\x0d\x0achJob=newchoice()\x0d\x0achJob.add("学生")\x0d\x0abtnOk=newButton("确定")\x0d\x0abtnDisplay=newButton("显示")\x0d\x0ap1=newpanel()\x0d\x0ap2=newpanel()\x0d\x0ap3=newpanel()\x0d\x0ap4=newpanel()\x0d\x0ap5=newpanel()\x0d\x0ap6=newpanel()\x0d\x0ap7=newpanel(newBorderLayout())\x0d\x0ap8=newpanel()\x0d\x0ap9=newpanel(newBorderLayout())\x0d\x0a//\x0d\x0ap1.add(lblName)\x0d\x0ap1.add(tfName)\x0d\x0ap2.add(lblNumber)\x0d\x0ap2.add(lblNumber)\x0d\x0ap3.add(lblSex)\x0d\x0ap3.add(chMale)\x0d\x0ap3.add(chFemale)\x0d\x0ap4.add(lblJob)\x0d\x0ap4.add(chJob)\x0d\x0ap5.add(p3)\x0d\x0ap5.add(p4)\x0d\x0ap6.setLayout(newBorderLayout())\x0d\x0ap6.add(p1,BorderLayout.NORTH)\x0d\x0ap6.add(p2,BorderLayout.CENTER)\x0d\x0ap6.add(p5,BorderLayout.SOUTH)\x0d\x0ap7.add(lblText,BorderLayout.NORTH)\x0d\x0ap7.add(lblText,BorderLayout.CENTER)\x0d\x0ap8.setLayout(newFlowLayout(FlowLayout.CENTER,30,10))\x0d\x0ap8.add(btnOK)\x0d\x0ap8.add(btnDisplay)\x0d\x0ap9.add(p6,BorderLayout.NORTH)\x0d\x0ap9.add(p7,BorderLayout.CENTER)\x0d\x0ap9.add(p8,BorderLayout.SOUTH)\x0d\x0aadd(p9)\x0d\x0a//\x0d\x0abtnOK.addActionListener(this)\x0d\x0abtnDisplay.addActionListener(this)\x0d\x0abtnDisplay.setEnabled(false)\x0d\x0astrName=newString()\x0d\x0astrNumber=newString()\x0d\x0astrSex=newString()\x0d\x0astrJob=newString()\x0d\x0astrText=newString()\x0d\x0a}\x0d\x0a\x0d\x0apublicvoidactionPerformed(ActionEventevt)\x0d\x0a{\x0d\x0astringarg=evt.getActionCommand()\x0d\x0a//\x0d\x0aif(arg.equals("确定"))\x0d\x0a{\x0d\x0astrName=tfName.getText().trim()\x0d\x0astrNumber=tfNumber.getText().trim()\x0d\x0aif(chMale.getState())\x0d\x0astrSex="男"\x0d\x0aelse\x0d\x0astrSex="女"\x0d\x0astrJob=chJob.getselectedItem()\x0d\x0astrText=taText.getText().trim()\x0d\x0atry\x0d\x0a{\x0d\x0a//\x0d\x0aDoumentBuildFactorydbf=DocumentBuilderFactory.newInstance()\x0d\x0adb=dbf.newDocumentBuilder()\x0d\x0aDoumentdoc=db.newDoument()\x0d\x0a//\x0d\x0aElementroot=doc.CreateElement("UserDAta")\x0d\x0aElementeName=doc.createElement("Name")\x0d\x0aElementeNumber=doc.createElement("Number")\x0d\x0aElementeJob=doc.createElement("Job")\x0d\x0aElementeText=doc.createElement("Text")\x0d\x0a//\x0d\x0aroot.appendChild(eName)\x0d\x0aroot.appendChild(eNumber)\x0d\x0aroot.appendChild(eSex)\x0d\x0aroot.appendChild(eJob)\x0d\x0aroot.appendChild(eText)\x0d\x0a//\x0d\x0aeName.appendChild(doc.creatTextNode("\n"strName"\n"))\x0d\x0aeNumber.appendChild(doc.creatTextNode("\n"strNumber"\n"))\x0d\x0aeSex.appendChild(doc.creatTextNode("\n"strSex"\n"))\x0d\x0aeJob.appendChild(doc.creatTextNode("\n"strJob"\n"))\x0d\x0aeText.appendChild(doc.creatTextNode("\n"strText"\n"))\x0d\x0a//\x0d\x0aFilef=newFile("user.xml")\x0d\x0aFileOutputStreamfOut=newFileOutStream(f)\x0d\x0a//\x0d\x0afOut.write("