> 文章列表 > 学生管理系统技术指标(学生管理系统java)

学生管理系统技术指标(学生管理系统java)

学生管理系统技术指标(学生管理系统java)

大家好,小问来为大家解答以上问题。学生管理系统技术指标,学生管理系统java这个很多人还不知道,现在让我们一起来看看吧!

1、内容较多,你先自己用一下,感受感受,请看实例:

2、User类:

3、public class User {

4、private int id;

5、private String name;

6、private String password;

7、private Course[] courses;

8、private int role; //0老师,1学生

9、public int total(){

10、int total=0;

11、if(role==1 && courses!=null){

12、for(Course c:courses){

13、total+=c.getScore();

14、}

15、}

16、return total;

17、}

18、public String toString(String courseName){

19、if(courses==null){

20、return "编号:"+id+"姓名"+name;

21、}else if(courses!=null && new Config().notEmpty(courseName)){

22、for(Course c:courses){

23、if(courseName.equals(c.getName())){

24、return "编号:"+id+"姓名:"+name+""+courseName+c.getScore();

25、}

26、}

27、}else{

28、return "编号:"+id+"姓名:"+name+"总分"+total();

29、}

30、return "";

31、}

32、//有参和无参构造方法不再赘述

33、}

34、Course门课:

35、public class Course {

36、private String name;

37、private int score;

38、//getter和setter及有参、无参构造方法不再赘述

39、}

40、Config类:

41、public class Config {

42、private User[] users;

43、public Config(){}

44、public Config(User[] users){

45、this.users=users;

46、}

47、public User[] getUsers() {

48、return users;

49、}

50、public void setUsers(User[] users) {

51、this.users = users;

52、}

53、//查询数组内有无空元素

54、public boolean cheakHasNull(){

55、for(User u:users){

56、if(u==null){

57、return true;

58、}

59、}

60、return false;

61、}

62、//输入字符串

63、public String inputString(Scanner sc,String attr){

64、String str="";

65、do{

66、System.out.println("请输入"+attr);

67、str=sc.next();

68、if(!notEmpty(str)){

69、System.out.println(attr+"不为空,请重新输入");

70、}

71、}while(!notEmpty(str));

72、return str;

73、}

74、//输入整数

75、public int inputInt(Scanner sc,String attr){

76、int sum=0;

77、do{

78、System.out.println("请输入"+attr);

79、sum=sc.nextInt();

80、if(sum==0){

81、System.out.println(attr+"不为空,请重新输入");

82、}

83、}while(sum==0);

84、return sum;

85、}

86、//筛选出所有学生

87、public User[] cheakStudents(){

88、List<User>userList=new ArrayList<User>();

89、for(User u:users){

90、if(u!=null && u.getRole()==1){

91、userList.add(u);

92、}

93、}

94、int len=userList.size();

95、User[] result=new User[len];

96、for(int i=0;i<len;i++){

97、result[i]=userList.get(i);

98、}

99、return result;

100、}

101、//查询有无重复id

102、public boolean cheakRepeat(int id){

103、for(User u:users){

104、if(u!=null && id==u.getId()){

105、return true;

106、}

107、}

108、return false;

109、}

110、//打印数组信息

111、public void print(String courseName){

112、if(notEmpty(courseName)){

113、for(int i=0;i<users.length;i++){

114、if(users[i]!=null && users[i].getRole()==1){

115、System.out.println("第"+i+"名:"+users[i].toString(courseName));

116、}

117、}

118、}else{

119、for(int i=0;i<users.length;i++){

120、if(users[i]!=null && users[i].getRole()==1){

121、System.out.println("第"+i+"名:"+users[i].toString(null));

122、}

123、}

124、}

125、}

126、//字符串非空验证

127、public boolean notEmpty(String str){

128、return str!=null && !"".equals(str);

129、}

130、//登录验证

131、public User login(String name,String password){

132、if(users!=null && notEmpty(name) && notEmpty(password)){

133、for(User u:users){

134、if(u!=null && name.equals(u.getName()) && password.equals(u.getPassword())){

135、return u;

136、}

137、}

138、}

139、return null;

140、}

141、//寻找指定id的学生信息

142、public User find(int id){

143、for(User u:users){

144、if(u!=null && id==u.getId()){

145、return u;

146、}

147、}

148、return null;

149、}

150、//增加

151、public boolean add(User user){

152、for(int i=0;i<users.length;i++){

153、if(users[i]==null){

154、users[i]=user;

155、return true;

156、}

157、}

158、return false;

159、}

160、//修改

161、public boolean update(User user){

162、for(User u:users){

163、if(user.getId()==u.getId()){

164、u=user;

165、return true;

166、}

167、}

168、return false;

169、}

170、//删除

171、public boolean remove(int id){

172、int index=-1;

173、for(int i=0;i<users.length;i++){

174、if(id==users[i].getId()){

175、index=i;

176、}

177、}

178、if(index==-1){

179、return false;

180、}

181、for(int i=index;i<users.length-1;i++){

182、users[i]=users[i+1];

183、}

184、users[users.length-1]=null;

185、return true;

186、}

187、//排序

188、public void sort(){

189、if(users!=null){

190、for(int i=0;i<users.length;i++){

191、for(int j=i+1;j<users.length;j++){

192、if(users[i]!=null && users[j]!=null && users[i].total()<users[j].total()){

193、User temp=users[i];

194、users[i]=users[j];

195、users[j]=temp;

196、}

197、}

198、}

199、}

200、}

201、//按门课排序

202、public void sort(String courseNum){

203、if(users!=null){

204、for(int i=0;i<users.length;i++){

205、for(int j=i+1;j<users.length;j++){

206、if(users[i]!=null && users[j]!=null && users[i].total()<users[j].total()){

207、User temp=users[i];

208、users[i]=users[j];

209、users[j]=temp;

210、}

211、}

212、}

213、}

214、}

215、}

216、public class Manager {

217、private User[] users;

218、public Manager(User[] users){

219、this.users=users;

220、}

221、public void doManager(){

222、try{

223、Scanner sc=new Scanner(System.in);

224、Config config=new Config(users);

225、int choose1=0;

226、for(;choose1!=3;){

227、System.out.println("欢迎来到学生管理系统登录注册退出");

228、choose1=sc.nextInt();

229、if(choose1==1){

230、User loginUser=null;

231、String loginName="";

232、for(;loginUser==null || !"exit".equals(loginName);){

233、System.out.println("请输入用户名或输入exit退出");

234、loginName=sc.next();

235、if(loginName.equals("exit")){

236、break;

237、}

238、System.out.println("请输入密码");

239、String loginPassword=sc.next();

240、loginUser=config.login(loginName, loginPassword);

241、if(loginUser!=null && loginUser.getRole()==1){

242、System.out.println("你好,学生"+loginUser.getName());

243、int choose2=0;

244、do{

245、System.out.println("查询个人信息修改个人信息排行榜退出");

246、choose2=sc.nextInt();

247、if(choose2==1){

248、System.out.println("请输入编号");

249、int id=sc.nextInt();

250、User search=config.find(id);

251、if(search!=null){

252、System.out.println(search.toString(null));

253、}else{

254、System.out.println("查无此人");

255、}

256、}else if(choose2==2){

257、System.out.println("请输入编号");

258、int id=sc.nextInt();

259、User search=config.find(id);

260、if(search!=null){

261、System.out.println(search.toString(null)+"请选择要修改的内容姓名密码");

262、int choose3=sc.nextInt();

263、if(choose3==1){

264、System.out.println("输入新的用户名");

265、String newName=sc.next();

266、search.setName(newName);

267、}else if(choose3==2){

268、String newPassword=sc.next();

269、search.setPassword(newPassword);

270、}

271、System.out.println(config.update(search)?"修改成功":"修改失败");

272、}else{

273、System.out.println("查无此人");

274、}

275、}else if(choose2==3){

276、System.out.println("总分排行单门排行");

277、int choose6=sc.nextInt();

278、users=config.cheakStudents();

279、if(choose6==1){

280、config.sort();

281、config.print(null);

282、}else if(choose6==2){

283、String courseNum=config.inputString(sc, "科目");

284、config.sort(courseNum);

285、config.print(courseNum);

286、}

287、}

288、}while(choose2!=4);

289、}else if(loginUser!=null && loginUser.getRole()==0){

290、int choose4=0;

291、System.out.println("你好,管理员"+loginUser.getName());

292、do{

293、System.out.println("添加修改删除查询排行榜退出");

294、choose4=sc.nextInt();

295、if(choose4==1){

296、if(config.cheakHasNull()){

297、System.out.println("请输入编号,输入0退出");

298、int id=0;

299、boolean flag=false;

300、do{

301、id=sc.nextInt();

302、if(id==0){

303、break;

304、}

305、flag=config.cheakRepeat(id);

306、if(flag){

307、System.out.println("编号重复,请重新输入");

308、}

309、}while(flag);

310、String name=config.inputString(sc, "用户名");

311、String password=config.inputString(sc, "密码");

312、int role=config.inputInt(sc, "角色");

313、User user=new User(id,name,password,role,null);

314、config.add(user);

315、}else{

316、System.out.println("名额已满");

317、}

318、}else if(choose4==2){

319、System.out.println("请输入编号");

320、int id=sc.nextInt();

321、User search=config.find(id);

322、if(search!=null){

323、if(search.getRole()==1){

324、int choose5=0;

325、do{

326、System.out.println(search.toString(null)+"请选择要修改的内容姓名密码成绩退回");

327、choose5=sc.nextInt();

328、if(choose5==1){

329、String name=config.inputString(sc, "用户名");

330、search.setName(name);

331、}else if(choose5==2){

332、String password=config.inputString(sc, "密码");

333、search.setPassword(password);

334、}else if(choose5==3){

335、System.out.println("一共几门课?");

336、int len=sc.nextInt();

337、Course[] courses=new Course[len];

338、for(int i=0;i<len;i++){

339、String name=config.inputString(sc, "科目");

340、int score=config.inputInt(sc, "分数");

341、courses[i]=new Course(name,score);

342、}

343、search.setCourses(courses);

344、}

345、}while(choose5!=4);

346、}

347、}else{

348、System.out.println("查无此人");

349、}

350、}else if(choose4==3){

351、System.out.println("请输入编号");

352、int id=sc.nextInt();

353、boolean result=config.remove(id);

354、System.out.println(result?"成功删除":"查无此人");

355、}else if(choose4==4){

356、System.out.println("请输入编号");

357、int id=sc.nextInt();

358、User user=config.find(id);

359、System.out.println(user==null?"查无此人":user.toString(null));

360、}else if(choose4==5){

361、System.out.println("总分排行单门排行");

362、int choose6=sc.nextInt();

363、users=config.cheakStudents();

364、if(choose6==1){

365、config.sort();

366、config.print(null);

367、}else if(choose6==2){

368、String courseNum=config.inputString(sc, "科目");

369、config.sort(courseNum);

370、config.print(courseNum);

371、}

372、}

373、}while(choose4!=6);

374、}else{

375、System.out.println("登录失败,用户名或密码错误");

376、}

377、}

378、}else if(choose1==2){

379、if(config.cheakHasNull()){

380、System.out.println("请输入编号");

381、int id=0;

382、do{

383、id=config.inputInt(sc, "id");

384、if(config.cheakRepeat(id)){

385、System.out.println("编号已被注册,请重新输入");

386、}

387、}while(config.cheakRepeat(id));

388、String name=config.inputString(sc, "姓名");

389、String password=config.inputString(sc, "密码");

390、int role=config.inputInt(sc, "角色");

391、User newUser=new User(id,name,password,role,null);

392、boolean result=config.add(newUser);

393、System.out.println(result?"添加成功":"添加失败");

394、}else{

395、System.out.println("名额已满");

396、}

397、}else{

398、System.out.println("正在退出...");

399、};

400、};

401、}catch(InputMismatchException e){

402、System.out.println("您的输入有误,回主界面");

403、doManager();

404、}

405、}

406、}

407、测试:

408、Manager manager=new Manager(Data.getData());

409、manager.doManager();

410、部分效果图:

411、由于有字数限制,设置初始数据的Data类和部分代码只能省略,需要完整项目的话请留言。

以上就是【学生管理系统技术指标,学生管理系统java】相关内容。