java学生简单管理系统
1 //设一个班有n名学生,期末考试5门,编写程序评定学生奖学金 2 514 //要求打印输出一二等奖学金学生的学号,姓名和各科成绩 3 515 //总成绩超过全班总平均成绩20%一等奖学金,超过总平均成绩10%发二等奖学金 4 516 package calsswork3; 5 517 6 518 import java.util.Scanner; 7 519 8 520 public class student { 9 521 private String name; 10 522 private int id; 11 523 private int java; 12 524 private int c; 13 525 private int datastruct; 14 526 private int math; 15 527 private int english; 16 528 public String getName() { 17 529 return name; 18 530 } 19 531 public void setName(String name) { 20 532 this.name = name; 21 533 } 22 534 public int getJava() { 23 535 return java; 24 536 } 25 537 public void setJava(int java) { 26 538 this.java = java; 27 539 } 28 540 public int getId() { 29 541 return id; 30 542 } 31 543 public void setId(int id) { 32 544 this.id = id; 33 545 } 34 546 public int getC() { 35 547 return c; 36 548 } 37 549 public void setC(int c) { 38 550 this.c = c; 39 551 } 40 552 public int getDatastruct() { 41 553 return datastruct; 42 554 } 43 555 public void setDatastruct(int datastruct) { 44 556 this.datastruct = datastruct; 45 557 } 46 558 public int getMath() { 47 559 return math; 48 560 } 49 561 public void setMath(int math) { 50 562 this.math = math; 51 563 } 52 564 public int getEnglish() { 53 565 return english; 54 566 } 55 567 public void setEnglish(int english) { 56 568 this.english = english; 57 569 } 58 570 public void set(String name, int id, int java, int c, int datastruct, int math, int english) { 59 571 this.name = name; 60 572 this.id = id; 61 573 this.java = java; 62 574 this.c = c; 63 575 this.datastruct = datastruct; 64 576 this.math = math; 65 577 this.english = english; 66 578 } 67 579 68 580 public student() { 69 581 Scanner in =new Scanner(System.in); 70 582 String name=in.next(); 71 583 int id=in.nextInt(); 72 584 int java=in.nextInt(); 73 585 int c=in.nextInt(); 74 586 int datastruct=in.nextInt(); 75 587 int math=in.nextInt(); 76 588 int english=in.nextInt(); 77 589 set(name, id, java, c, datastruct, math, english); 78 590 } 79 591 80 592 81 593 } 82 594 package calsswork3; 83 595 84 596 import java.util.Scanner; 85 597 86 598 public class studentmanage { 87 599 private int n; 88 600 private student[] ss; 89 601 private int []sumsocre; 90 602 public studentmanage() { 91 603 System.out.println("请输入班级人数N"); 92 604 Scanner in=new Scanner(System.in); 93 605 int n=in.nextInt(); 94 606 this.ss=new student[n]; 95 607 this.sumsocre=new int[n]; 96 608 } 97 609 public void init() { 98 610 for(int i=0;i<ss.length;++i) { 99 611 System.out.println("请输入第"+(i+1)+"个学生的信息(依次输入姓名,学号和java,c语言,数据结构,数学,英语成绩)"); 100 612 ss[i]=new student(); 101 613 } 102 614 103 615 } 104 616 private int sum() { 105 617 int total=0; 106 618 for(int i=0;i<sumsocre.length;++i) { 107 619 sumsocre[i]=ss[i].getC()+ss[i].getDatastruct()+ss[i].getMath()+ss[i].getEnglish(); 108 620 total+=sumsocre[i]; 109 621 } 110 622 return total; 111 623 } 112 624 private double avg() { 113 625 int total=sum(); 114 626 double avgscore=total*1.0/ss.length; 115 627 return avgscore; 116 628 } 117 629 public void jiangxuejin() { 118 630 double a=avg(); 119 631 double b=a*1.2; 120 632 double c=a*1.1; 121 633 System.out.println("获得一等奖学金的同学为:"); 122 634 System.out.println("名字\t学号\t\tjava\t\tc\t\t数据结构\t\t离散数学\t\t英语"); 123 635 for(int i=0;i<sumsocre.length;++i) { 124 636 if(sumsocre[i]>=b) { 125 637 System.out.println(ss[i].getName()+"\t"+ss[i].getId()+"\t\t"+ss[i].getJava()+"\t\t"+ss[i].getC()+"\t\t"+ss[i].getDatastruct()+"\t\t"+ss[i].getMath()+"\t\t"+ss[i].getEnglish()); 126 638 } 127 639 128 640 } 129 641 System.out.println("获得二等奖学金的同学为:"); 130 642 System.out.println("名字\t学号\t\tjava\t\tc\t\t数据结构\t\t离散数学\t\t英语"); 131 643 for(int i=0;i<sumsocre.length;++i) { 132 644 if(sumsocre[i]>=c&&sumsocre[i]<b) { 133 645 System.out.println(ss[i].getName()+"\t"+ss[i].getId()+"\t\t"+ss[i].getJava()+"\t\t"+ss[i].getC()+"\t\t"+ss[i].getDatastruct()+"\t\t"+ss[i].getMath()+"\t\t"+ss[i].getEnglish()); 134 646 } 135 647 } 136 648 } 137 649 public void showss() { 138 650 System.out.println("名字\t学号\t\tjava\t\tc\t\t数据结构\t\t离散数学\t\t英语"); 139 651 for(int i=0;i<ss.length;++i) { 140 652 141 653 System.out.println(ss[i].getName()+"\t"+ss[i].getId()+"\t\t"+ss[i].getJava()+"\t\t"+ss[i].getC()+"\t\t"+ss[i].getDatastruct()+"\t\t"+ss[i].getMath()+"\t\t"+ss[i].getEnglish()); 142 654 } 143 655 } 144 656 } 145 657 package calsswork3; 146 658 147 659 public class studenttest { 148 660 149 661 public static void main(String[] args) { 150 662 studentmanage manager=new studentmanage(); 151 663 manager.init(); 152 664 System.out.println("全部学生信息:"); 153 665 manager.showss(); 154 666 manager.jiangxuejin(); 155 667 } 156 668 157 669 } 158 670 //学生信息管理系统 159 671 package classwork_5; 160 672 161 673 public class student { 162 674 private String name;//名字 163 675 private int id;//学号 164 676 private String state;//是否在籍 165 677 private double gpa;//在校绩点成绩 166 678 public student() { 167 679 168 680 } 169 681 public student(String name, int id, String state, double gpa) { 170 682 this.name = name; 171 683 this.id = id; 172 684 this.state = state; 173 685 this.gpa = gpa; 174 686 } 175 687 public String getName() { 176 688 return name; 177 689 } 178 690 public void setName(String name) { 179 691 this.name = name; 180 692 } 181 693 public int getId() { 182 694 return id; 183 695 } 184 696 public void setId(int id) { 185 697 this.id = id; 186 698 } 187 699 public String getState() { 188 700 return state; 189 701 } 190 702 public void setState(String state) { 191 703 this.state = state; 192 704 } 193 705 public double getGpa() { 194 706 return gpa; 195 707 } 196 708 public void setGpa(double d) { 197 709 this.gpa = d; 198 710 } 199 711 200 712 } 201 713 package classwork_5; 202 714 203 715 import java.util.Scanner; 204 716 205 717 public class stumanager { 206 718 private student[] stu; 207 719 private Scanner in = new Scanner(System.in); 208 720 209 721 // 初始化,先往学生管理系统里面存入一些学生信息 210 722 public void init() { 211 723 stu = new student[20]; 212 724 student stu0 = new student(); 213 725 stu0.setName("张三"); 214 726 stu0.setId(110120130); 215 727 stu0.setState("在籍"); 216 728 stu0.setGpa(4.5); 217 729 stu[0] = stu0; 218 730 } 219 731 220 732 public void menu() { 221 733 System.out.println("*******欢迎使用学生管理系统*******"); 222 734 System.out.println("请根据提示选择"); 223 735 System.out.println("1.添加学生信息"); 224 736 System.out.println("2.删除学生信息"); 225 737 System.out.println("3.修改学生信息"); 226 738 System.out.println("4.查询学生并输出"); 227 739 System.out.println("5.所有学生信息"); 228 740 229 741 int choice = in.nextInt(); 230 742 switch (choice) { 231 743 case 1: 232 744 addstu(); 233 745 break; 234 746 case 2: 235 747 delstu(); 236 748 break; 237 749 case 3: 238 750 amendstu(); 239 751 break; 240 752 case 4: 241 753 findstu(); 242 754 break; 243 755 case 5: 244 756 show(); 245 757 break; 246 758 default: 247 759 } 248 760 } 249 761 250 762 public void iscontinuemenu() { 251 763 System.out.println("是否返回到主菜单(y/n)"); 252 764 String iscon = in.next(); 253 765 if ("y".equals(iscon)) { 254 766 menu(); 255 767 } 256 768 } 257 769 258 770 private void addstu() { 259 771 System.out.println("增加学生信息"); 260 772 student st = new student(); 261 773 System.out.println("请输入学生名"); 262 774 String name = in.next(); 263 775 System.out.println("请输入学生学号"); 264 776 int id = in.nextInt(); 265 777 System.out.println("请输入学生的入学年份"); 266 778 int year = in.nextInt(); 267 779 String y = ""; 268 780 if (year <= 2020&&year>=2017) { 269 781 y = "在籍"; 270 782 } else { 271 783 y = "不在籍"; 272 784 } 273 785 System.out.println("请输入学生绩点"); 274 786 double gpa = in.nextDouble(); 275 787 st.setName(name); 276 788 st.setId(id); 277 789 st.setState(y); 278 790 st.setGpa(gpa); 279 791 // 寻找增加的位置,第一个为null的位置 280 792 int pos = -1; 281 793 for (int i = 0; i < stu.length; ++i) { 282 794 if (stu[i] == null) { 283 795 pos = i; 284 796 break; 285 797 } 286 798 } 287 799 stu[pos] = st; 288 800 iscontinuemenu(); 289 801 } 290 802 //删除学生信息,根据名字删除 291 803 private void delstu() { 292 804 System.out.println("请输入要删除的名字"); 293 805 String name=in.next(); 294 806 //定位要删除的书的位置 295 807 int pos=-1; 296 808 for(int i=0;i<stu.length;++i) { 297 809 if(stu[i].getName().equals(name)) { 298 810 pos=i; 299 811 break; 300 812 } 301 813 } 302 814 303 815 //寻找空位置 304 816 int start=pos+1; 305 817 int firstnullpos=-1; 306 818 for(int i=0;i<stu.length;++i) { 307 819 if(stu[i]==null) { 308 820 firstnullpos=i; 309 821 break; 310 822 } 311 823 } 312 824 int end=firstnullpos-1; 313 825 if(firstnullpos==-1) {//信息系统已满,不存在为null的元素 314 826 end=stu.length-1; 315 827 } 316 828 //移动 317 829 for(int i=start;i<=end;++i) { 318 830 stu[i-1]=stu[i]; 319 831 320 832 } 321 833 stu[end]=null; 322 834 iscontinuemenu(); 323 835 } 324 836 //修改学生信息amend 325 837 private void amendstu() { 326 838 System.out.println("请输入要修改学生的名字"); 327 839 String name=in.next(); 328 840 int pos=-1,i; 329 841 for( i=0;i<stu.length;++i) { 330 842 if(stu[i].getName().equals(name)) { 331 843 pos=i; 332 844 break; 333 845 } 334 846 } 335 847 System.out.println("请输入新名字,学号,绩点"); 336 848 String name1=in.next(); 337 849 int id=in.nextInt(); 338 850 double gpa=in.nextDouble(); 339 851 stu[i].setName(name1); 340 852 stu[i].setId(id); 341 853 stu[i].setGpa(gpa); 342 854 System.out.println("已修改完毕请返回主菜单查看"); 343 855 iscontinuemenu(); 344 856 } 345 857 //查询学生信息,根据学号查询 346 858 private void findstu() { 347 859 System.out.println("请输入要查询学生的学号"); 348 860 int id=in.nextInt(); 349 861 int pos=-1,i; 350 862 for( i=0;i<stu.length;++i) { 351 863 if(stu[i].getId()==id) { 352 864 pos=i; 353 865 break; 354 866 } 355 867 } 356 868 if(pos==-1) { 357 869 System.out.println("学号输入有误,暂无此人"); 358 870 } 359 871 else { 360 872 System.out.println(stu[i].getName() + "\t\t" + stu[i].getId() + "\t\t" + stu[i].getState() + "\t\t" + stu[i].getGpa()); 361 873 } 362 874 iscontinuemenu(); 363 875 } 364 876 // 查看所有学生信息 365 877 private void show() { 366 878 System.out.println("姓名\t\t学号\t\t\t在籍状态\t\t在校成绩"); 367 879 368 880 for (student x : stu) { 369 881 if (x != null) { 370 882 System.out.println(x.getName() + "\t\t" + x.getId() + "\t\t" + x.getState() + "\t\t" + x.getGpa()); 371 883 } 372 884 } 373 885 iscontinuemenu(); 374 886 } 375 887 376 888 } 377 889 package classwork_5; 378 890 379 891 public class stuman_test { 380 892 381 893 public static void main(String[] args) { 382 894 stumanager a=new stumanager(); 383 895 a.init(); 384 896 a.menu(); 385 897 } 386 898 387 899 }
道阻且长,行则将至