实验七+综合实验Word文件下载.docx
《实验七+综合实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验七+综合实验Word文件下载.docx(18页珍藏版)》请在冰点文库上搜索。
若查无此人,显示相应的错误信息。
2(选做)在控制台显示菜单,并实现相应的功能。
菜单如下:
1显示所有学生信息2按学号查找3按姓名查找
4按学号删除5按成绩排序6退出
请输入数字(1-6)
用switch-case判断输入的内容。
当输入2或4时,显示:
请输入学号:
当输入3时,显示:
请输入姓名:
当输入5时,显示:
1按math成绩2按os成绩3按java成绩,请输入(1-3)
源代码1:
Student.java
publicclassStudent{
privatelongid;
privateStringname;
privateStringmajor;
privateStringclas;
privatedoublemathScore;
privatedoubleosScore;
privatedoublejavaScore;
publicvoidsetId(longid){
this.id=id;
}
publicvoidsetName(Stringname){
this.name=name;
publicvoidsetMajor(Stringmajor){
this.major=major;
publicvoidsetClas(Stringclas){
this.clas=clas;
publicvoidsetMathScore(doublemathScore){
this.mathScore=mathScore;
publicvoidsetOsScore(doubleosScore){
this.osScore=osScore;
publicvoidsetJavaScore(doublejavaScore){
this.javaScore=javaScore;
}
publiclonggetId(){
returnid;
publicStringgetName(){
returnname;
publicStringgetMajor(){
returnmajor;
publicStringgetClas(){
returnclas;
publicdoublegetMathScore(){
returnmathScore;
publicdoublegetOsScore(){
returnosScore;
publicdoublegetJavaScore(){
returnjavaScore;
publicStringshow(){
Stringstr=id+"
\t"
+name+"
+major+"
+clas+"
+mathScore+"
+osScore+"
+javaScore;
returnstr;
}
源代码2:
StuInfoManage.java
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.Statement;
importjava.util.Scanner;
importcom.mysql.jdbc.PreparedStatement;
publicclassStuInfoManage{
Stringdriver="
com.mysql.jdbc.Driver"
;
Stringurl="
jdbc:
mysql:
//localhost:
3306/cwc?
"
+"
user=root&
password=&
useUnicode=true&
characterEncoding=utf-8"
Stringuser="
root"
Stringpass="
privateConnectionconn;
publicStuInfoManage()throwsClassNotFoundException{
Stringsql="
createtableifnotexistsstudents(idbigint,namevarchar(20),"
sql+="
majorvarchar(10),classvarchar(10),mathdouble,osdouble,javadouble)"
try{
if(conn!
=null)return;
//已经初始化
Class.forName(driver);
//动态加载mysql驱动
conn=DriverManager.getConnection(url,user,pass);
//建立和数据库的连接
Statementstmt=conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
publicvoidclose()throwsSQLException{
if(conn!
=null)conn.close();
publicvoidadd(Studentstu){
Stringsql="
insertintostudents(id,name,major,class,math,os,java)"
+"
values(?
?
)"
try{
PreparedStatementpstmt=(PreparedStatement)conn.prepareStatement(sql);
pstmt.setLong(1,stu.getId());
pstmt.setString(2,stu.getName());
pstmt.setString(3,stu.getMajor());
pstmt.setString(4,stu.getClas());
pstmt.setDouble(5,stu.getMathScore());
pstmt.setDouble(6,stu.getOsScore());
pstmt.setDouble(7,stu.getJavaScore());
pstmt.executeUpdate();
pstmt.close();
publicvoiddelById(longid){
deletefromstudentswhereid="
+id;
Statementstmt=conn.createStatement();
publicvoidfindById(longid){
select*fromstudentswhereid="
ResultSetrs=stmt.executeQuery(sql);
while(rs.next()){
longid1=rs.getLong("
id"
);
Stringname=rs.getString("
name"
Stringmajor=rs.getString("
major"
Stringclas=rs.getString("
class"
doublemathScore=rs.getDouble("
math"
doubleosScore=rs.getDouble("
os"
doublejavaScore=rs.getDouble("
java"
Studentstu=newStudent();
stu.setId(id1);
stu.setName(name);
stu.setMajor(major);
stu.setClas(clas);
stu.setMathScore(mathScore);
stu.setOsScore(osScore);
stu.setJavaScore(javaScore);
System.out.println("
学号\t姓名专业班级:
\tmath:
\tos:
\tjava:
System.out.println(stu.show());
}
rs.close();
publicvoidfindByName(Stringname){
select*fromstudentswherename=?
pstmt.setString(1,name);
ResultSetrs=pstmt.executeQuery();
Stringname1=rs.getString("
stu.setName(name1);
}
publicvoidsort(Stringcourse){
select*fromstudents"
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSetrs=stmt.executeQuery(sql);
//executeQuery会返回结果的集合,否则返回空值
rs.last();
//移动到最后一行
inttotal=rs.getRow();
//得到总行数
Student[]stus=newStudent[total];
intindex=0;
rs.beforeFirst();
//游标指向第一行前
while(rs.next()){
stus[index]=stu;
index++;
courseChoose(stus,course);
System.out.println("
*********************************************************************"
for(intm=0;
m<
stus.length;
m++){
System.out
.println(stus[m].getId()+"
+stus[m].getName()+"
+stus[m].getMajor()+"
+stus[m].getClas()+"
+stus[m].getMathScore()
+"
+stus[m].getOsScore()+"
+stus[m].getJavaScore());
//入如果返回的是int类型可以用getInt()
publicvoidcourseChoose(Student[]stus,Stringcourse){
if(course.equals("
)){
for(inti=0;
i<
stus.length-1;
i++){
for(intj=i+1;
j<
stus.length;
j++){
Studentstu=newStudent();
if(stus[i].getMathScore()<
stus[j].getMathScore()){
stu=stus[i];
stus[i]=stus[j];
stus[j]=stu;
}
}
elseif(course.equals("
if(stus[i].getOsScore()<
stus[j].getOsScore()){
if(stus[i].getJavaScore()<
stus[j].getJavaScore()){
publicvoiddispAll(){
Stringsql="
try{
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery(sql);
while(rs.next()){
System.out
.println(rs.getLong
(1)+"
+rs.getString
(2)+"
+rs.getString(3)+"
+rs.getString(4)+"
+rs.getDouble(5)
+"
+rs.getDouble(6)+"
+rs.getDouble(7));
//如果返回的是int类型可以用getInt()
rs.close();
stmt.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
publicvoidmenu(){
Longid;
Stringname;
Stringmajor;
Stringclas;
doublemathScore;
doubleosScore;
doublejavaScore;
Scannerscanner=newScanner(System.in);
——————————————《欢迎进入学生信息管理系统》———————————————"
*********************************