毕业答辩分数

时间:2024.4.27

注:成绩比例:优<20%,校优<5%,良<45%,不及格:1%-3%


第二篇:毕业答辩分组


import java.util.Scanner; import java.io.File;

import jxl.Workbook;

import jxl.write.WritableWorkbook; import jxl.write.WritableSheet; import jxl.write.Label;

import jxl.Sheet;

import jxl.Cell;

import java.util.Scanner; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import jxl.write.Label;

class student

{ int count=0;

private String id;

private String name; private String major; private String title; private String teacher; void setid(String id) {

this.id=id;

}

String getid()

{

return id;

}

void setname(String name) {

this.name=name;

}

String getname() {

return name; }

void setmajor(String major) {

this.major=major; }

String getmajor() {

return major;

}

void settitle(String title)

{

this.title=title;

}

String gettitle(){

return title;

}

void setteacher(String teacher)

{

this.teacher=teacher;

}

String getteacher()

{

return teacher;

}

student(String id,String name,String major,String title, String teacher)

{

this.id=id; this.name=name;this.major=major; this.title=title;this.teacher=teacher; }

student(){}

}

class grouping{

String tea[];

String route; //路径 Workbook wk; //读取表 Sheet sheet0=null; WritableWorkbook wwk=null; //写入表 String []cocn; //存储列表名 int cols; //记录列数 int rows; //记录行数 student stu[]; int counttea; int teamnumber; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); WritableSheet sheet1; WritableSheet sheet2; int cla=0; //分组识别 void autogroup(){ cla=0; //自动分组 try{ System.out.println("请输入excel表路径(格式:盘符:\\文件名.xls):"); route=br.readLine(); while(!new File(route).exists()) {

} //手动分组

System.out.println("文件不存在,请重新输入!"); route=br.readLine(); } wk=Workbook.getWorkbook(new File(route)); wwk=Workbook.createWorkbook(new File(route),wk); sheet1 = wwk.createSheet("学生分组", 1); sheet2 = wwk.createSheet("老师分组", 2); sheet0=wk.getSheet(0); cols=sheet0.getColumns();//获取列数 rows=sheet0.getRows();//获取行数 stu=new student[rows-1]; tea=new String[rows-1]; cocn=new String[cols];//获取列标题 teamnumber=((rows-1)%4==0)?(rows-1)/4:((rows-1)/4+1); getcocn(cocn,wk.getSheet(0)); getstudent(stu,wk.getSheet(0)); gettea(tea,stu); writesheet1(stu);//对学生分组并写入sheet1 writesheet2(tea);//对老师分组并写入sheet2 wwk.write(); wwk.close(); } catch(Exception e) { System.out.println(e); } void handgroup(){ cla=1; try{ System.out.println("请输入excel表路径(格式:盘符:\\文件名.xls):"); route=br.readLine(); while(!new File(route).exists()) { System.out.println("文件不存在,请重新输入!"); route=br.readLine(); } wk=Workbook.getWorkbook(new File(route)); wwk=Workbook.createWorkbook(new File(route),wk); sheet1 = wwk.createSheet("学生分组", 1); sheet2 = wwk.createSheet("老师分组", 2);

//获取列数

//获取行数

sheet0=wk.getSheet(0); cols=sheet0.getColumns(); rows=sheet0.getRows(); stu=new student[rows-1]; tea=new String[rows-1]; cocn=new String[cols]; //获取列标题

teamnumber=((rows-1)%4==0)?(rows-1)/4:((rows-1)/4+1); getcocn(cocn,wk.getSheet(0));

getstudent(stu,wk.getSheet(0));

gettea(tea,stu);

writesheet1(stu); //对学生分组并写入sheet1

writesheet2(tea); //对老师分组并写入sheet2

wwk.write();

wwk.close();

}

catch(Exception e)

{

System.out.println(e);

}

}

void getcocn(String str[],Sheet sh){//得到列名

for(int i=0;i<cols;i++)

{ Cell ce=sh.getCell(i,0);

cocn[i]=ce.getContents();

}

}

void getstudent(student []stu,Sheet sh){//得到学生组

for(int i=1;i<rows;i++)

{

Cell ce1=sh.getCell(0,i);

Cell ce2=sh.getCell(1,i);

Cell ce3=sh.getCell(2,i);

Cell ce4=sh.getCell(3,i);

Cell ce5=sh.getCell(4,i);

stu[i-1]=new

student(ce1.getContents(),ce2.getContents(),ce3.getContents(),ce4.getContents(),ce5.getContents());

}

}

void gettea(String tea[],student[] stu)

{ counttea=0;

int tru=0;

for(int i=0;i<stu.length;i++)

{

tea[i]=stu[i].getteacher();

for(int j=i+1;j<stu.length;j++)//去除重复老师姓名

{

if(stu[i].getteacher().equals(stu[j].getteacher()))

{tru=1;}

}

if(tru==0)

{

tea[counttea]=stu[i].getteacher();

counttea++;

}

else{ tru=0;}

}

}

void writesheet1(student[] stu)

{ try{

sheet1.addCell(new Label(0,0,"分组"));

for(int j=0;j<cols;j++)

{

sheet1.addCell(new Label(j+1,0,cocn[j]));

}

for(int i=1;i<rows;i++)

{

sheet1.addCell(new Label(1,i,stu[i-1].getid()));

sheet1.addCell(new Label(2,i,stu[i-1].getname()));

sheet1.addCell(new Label(3,i,stu[i-1].getmajor()));

sheet1.addCell(new Label(4,i,stu[i-1].gettitle()));

sheet1.addCell(new Label(5,i,stu[i-1].getteacher()));

if((i+4)%4==1)

{

sheet1.addCell(new Label(0,i,"第"+(i+3)/4+"组")); }

}

}

catch(Exception e)

{

System.out.println(e);

}

}

同在一组):

void writesheet2(String []tea) { int tru=0; int cotm=0; int cou=1; int check=1;//检测老师分组是否符合规则 int count=0;//记录学生数防止溢出 String tctm[][]=new String[teamnumber][3];//存储人工分组 String str[]=new String[3]; String readtea[]= new String[3]; if(cla==1){ try{ int circle=1; while(circle==1){ System.out.println("学生分组如下(规则:指导老师不能与答辩老师学生姓名 ( 所属指导老师)"); for(int ln=1;ln<=teamnumber;ln++) { System.out.print(" 第"+ln+"组:"); for(int lnt=1;lnt<=4;lnt++) { System.out.print(" " + stu[count].getname()+"("+stu[count].getteacher()+")"); count++; if( count==stu.length){break;} } System.out.println(""); } System.out.println("可供选择老师:"); for( int lnt=0;lnt<tea.length;lnt++) { System.out.print(tea[lnt]+" ");} System.out.println("请对老师分组 (以空格隔开):"); for(int ij=0;ij<teamnumber;ij++) { System.out.println("第"+ (ij+1)+"组"); readtea=br.readLine().split(" ");

for(int ik=0;ik<3;ik++){ tctm[ij][ik]=readtea[ik]; //scrplit()分组 } }

count=1; //重置count用做以下检测

for(int jiance=0;jiance<teamnumber;jiance++) //检测过程 {

for(int i=0;i<3;i++)

{ for(int j=0;j<4&&count<=stu.length;j++)

{

if(tctm[jiance][i].equals(stu[jiance*4+j].getteacher()))

{

check=0;break;

}

count++;

}

if(check==0)

{

break;

}

}

if(check==0)

{

break;

}

}

if(check==1){circle=0;

}

else{ System.out.println("分组不符合规则,请重新对老师分组!");

circle=1;

} }

sheet2.addCell(new Label(0,0,"分组"));

sheet2.addCell(new Label(1,0,"指导老师"));

sheet2.addCell(new Label(0,1,"第"+1+"组"));

for(int xx=1;xx<teamnumber;xx++)

sheet2.addCell(new Label(0,xx*3+1,"第"+(xx+1)+"组"));

for(int tm=0;tm<teamnumber;tm++)

{

for(int i=0;i<=2;i++)

{

sheet2.addCell(new Label(1,cou,tctm[tm][i])); cou++;

}

}

wk.close();

System.out.println("分组完成!请在相应地址下查询!");

}

catch(Exception e)

{ System.out.println(e);}

}

else{

try{

sheet2.addCell(new Label(0,0,"分组"));

sheet2.addCell(new Label(1,0,"指导老师"));

sheet2.addCell(new Label(0,1,"第"+1+"组"));

for(int xx=1;xx<teamnumber;xx++)

sheet2.addCell(new Label(0,xx*3+1,"第"+(xx+1)+"组")); for(int i=1;i<=teamnumber;i++)

{

for(int x=0;x<3;x++)

{ str[x]="1";}

for(int j=0;j<tea.length;j++)

{ tru=0;int ij=0;

for(;ij<4&&((i-1)*4+ij)<stu.length;ij++)

if(!stu[(i-1)*4+ij].getteacher().equalsIgnoreCase(tea[j])) { tru++;}

if(tru==4||(((i-1)*4+ij)==stu.length))

{ int y=0;

for(;y<3;y++)

if(str[y].equalsIgnoreCase(tea[j])) {

break;

}

if(y==3)

{

str[cotm]=tea[j];

cotm++;

}

if(cotm==3)

{tru=1;cotm=0;break;}

}

else

{

tru=1;

}

}

for(int k=0;k<3;k++)

{

sheet2.addCell(new Label(1,(i-1)*3+k+1,str[k]));

}

} wk.close();

}

catch(Exception e)

{

System.out.println(e);

}}

}

}

class desktop{ //显示桌面

int choic;

String again;

Scanner sc = new Scanner(System.in);

grouping group=new grouping();

void dkp(){

System.out.println("***************************************"); System.out.println("-------------------");

System.out.println(" 欢迎进入毕业生答辩分组系统");

System.out.println("--------------------");

System.out.println("请选择分组方式(序号):");

System.out.println(" 1.自动分组");

System.out.println(" 2.手动分组");

System.out.println("***************************************");

choic=sc.nextInt();

if(choic==1)

{

group.autogroup();//自动分组 } else{

group.handgroup();//手动分组 }

}

}

public class pleasystem

{

/**

* @param args

*/

public static void main(String[] args)throws IOException { desktop desk=new desktop();

Scanner sc = new Scanner(System.in);

while(true){

desk.dkp();

System.out.println("\n是否继续分组?(是/否)"); if(!sc.nextLine().equalsIgnoreCase("是"))

break;

System.out.println("*******");

}

}

}

更多相关推荐:
毕业答辩必看PPT实用总结

一、幻灯片的模板下面向读者简单介绍一些关于幻灯模板的使用技巧。1.页面大小的选择此为幻灯片模板选择的第一步(许多人从来没有用过这个设置)。打开“文件”→“页面设置”→选择“幻灯片大小”。默认设置是屏幕大小,可根…

本科生研究生毕业答辩的ppt技巧

今天偶然在一个哥们空间里看到“毕业论文答辩PPT攻略”,看后收获颇深,特转载与君共享关于内容:1、一般概括性内容:课题标题、答辩人、课题执行时间、课题指导教师、课题的归属、致谢等。2、课题研究内容:研究目的、方…

毕业答辩PPT

毕业论文答辩PPT秘籍,可能很多地方大家都知道,不过这么全面的总结还是很难得的。关于内容:1、一般概括性内容:课题标题、答辩人、课题执行时间、课题指导教师、课题的归属、致谢等。2、课题研究内容:研究目的、方案设…

Fowblxppt背景图片大全 毕业答辩或设计必看ppt经典制作方法大全

生命是永恒不断的创造,因为在它内部蕴含着过剩的精力,它不断流溢,越出时间和空间的界限,它不停地追求,以形形色色的自我表现的形式表现出来。--泰戈尔ppt背景图片大全毕业答辩或设计必看ppt经典制作方法大全(转)…

PLC控制电梯毕业答辩演讲稿

各位老师好,感谢各位老师来听我的毕业答辩。我是**,来自******班,本次毕业设计的题目是“基于S7-200PLC控制的四层电梯系统的设计”,指导老师是****老师,众所周知,现在,中国的发展越来越快,经济越…

黑建筑毕业答辩要求举例

通知:10级学生请注意,毕业生就业协议书具体要求如下:1、正反两面必须打印在一张正规A4纸上,且保证纸张质量。2、毕业生就业生情况,与用人单位情况必须填写详细。3、必须保证4月x日之前上交到张威老师处。以上3点…

毕业答辩发言稿

毕业设计发言稿各位老师,上午好!我是机085班的许玲玲,我的毕业设计题目是一种多姿态爬杆机器人的结构设计。本次毕业设计是在吴云老师的悉心指点下完成的,在这里我要向我的导师表示深深的谢意,同时我也要由衷地感谢向各…

毕业论文答辩演讲稿

尊敬的各位老师大家上午好我叫yjbyS本次论文指导老师是老师我选的毕业论文题目是提升浙江省出口优势产业集群竞争力的对策研究下面我先汇报一下自己选择这篇论文的动机以及论文选题背景基本写作思路理论与实践意义首先来陈...

范文毕业论文致谢答谢(几种模板)

一光阴似箭日月如棱五年的时间在我们漫长的人生旅途中是那么的短暂但是这短短的五年是最真诚的青春是最纯真的岁月是最美丽的大学生活我们的自学能力在这里得提升我感谢所有的恩师是您赋予我们最有意义的收获是您带领我们走进知...

毕业论文答辩稿范文

论文是在导师的悉心指点下完成的在这里我向我的导师表示深深的谢意向各位老师不辞辛苦参加我的论文答辩表示衷心的感谢并对三年来我有机会聆听教诲的各位老师表示由衷的敬意下面我将本论文设计的目的和主要内容向各位老师作一汇...

毕业设计论文答辩技巧及自述模板与范文

毕业设计答辩论文答辩答辩技巧毕业设计论文完成后要进行答辩以检查学生是否达到毕业设计的基本要求和目的衡量毕业设计论文的质量高低学生口述总结毕业设计论文的主要工作和研究成果并对答辩委员会成员所提问题做出回答答辩是对...

毕业论文答辩稿范文

论文是在导师的悉心指点下完成的在这里我向我的导师表示深深的谢意向各位老师不辞辛苦参加我的论文答辩表示衷心的感谢并对三年来我有机会聆听教诲的各位老师表示由衷的敬意下面我将本论文设计的目的和主要内容向各位老师作一汇...

毕业答辩(135篇)