【Java】数组小项目

如下就是要完成的效果:

 

根据输入编号完成对应的功能,输入有误则出现在主菜单中重新提示输入操作数

  1. 添加

无限添加,根据是否继续进行无限添加成绩,不添加则显示成绩表格:

编号 成绩

编号则是添加的成绩第几个,第一个则编号1

  1. 12
  2. 22
  3. 33

2.删除

入删除位置删除数据信息,显示出删除后的数据要求表格:编号 成绩

    3. 修改:

输入修改值,修改为:修改成功后输出成绩表格

     4.查询

输入编号,查询成绩

    5.插入

输入要插入的位置,插入数,然后插入输出成绩表格

    6.成绩统计信息

输出成绩表格的最高分,最低分,总分,平均分

     7.等级详细信息

根据成绩的范围判断成绩等级(优秀,良好,一般,及格,不及格),列出成绩表:

编号 成绩 等级

1 80 良好

2 90 优秀

8.排序:将成绩升序排序

    9.退出程序:

注:整个程序操作了每个编号后要求回到主菜单,重新选择操作数可以操作

while(true){

输出菜单

输入编号

判断编号:

1 //添加

}

根据上面的要求来写吧!

public class Xxm {
				private static int[] str = null;
			    private static Scanner sc = new Scanner(System.in);
			    private static boolean flag = true;
	public static void main(String[] args) {
		     
				int xx=0;
			  while(flag){
				  //初始化主菜单
				  ZhuDish();
			  String caoZou=sc.next();
			  //添加
			  if(caoZou.equals("1")){
				  System.out.println("你要储存多少条同学数据:");
				  int tx=sc.nextInt();	
	               str = new int[50];       
				  for(int i=1;i<str.length+1;i++){
				  System.out.println("您正在添加学号为[" + i + "]的同学成绩:");
				  str[i-1]=sc.nextInt();
				  System.out.println("是否要继续添加y(继续)/n(退出):");
				   String jx=sc.next();
				   if(jx.equalsIgnoreCase("n")){
					   break;
				   }	  
				   xx++;//记录添加个数
				  }
				
			  	}	
			   //删除
			  if(caoZou.equals("2")){
				  System.out.print("请输入待删除同学学号:");
				  int sc1=sc.nextInt();
				  if(sc1>-1){
					  for (int i = sc1-1; i <xx ; i++) {
						str[i]=str[i+1];
					}
					  xx--;
				  System.out.println("删除成功!!!");
				  }
			  }
			  if(caoZou.equals("3")){
				System.out.print("请输入待修改同学学号:");
				int sc2=sc.nextInt();
				if(sc2>-1){
				System.out.print("请输入待修改成绩:");
				str[sc2-1]=sc.nextInt();
				System.out.println("修改成功!!!");
				}
			  }
			  //查询
			  if(caoZou.equalsIgnoreCase("4")){
				System.out.println("学号\t成绩");
				
			     for(int j=0;j<=xx;j++){
			    System.out.println((j+1)+"\t"+(str[j]));
			   
			     }	  
			  }
			  //插入
			  if(caoZou.equalsIgnoreCase("5")){
				 System.out.print("请输入待插入同学学号:");
				 int sc3=sc.nextInt();
				 System.out.print("请输入待插入同学成绩:");
				 int sc4=sc.nextInt();
				 
				 if(sc3>-1){
					for(int i=xx;i>=sc3-1;i--){//xx是存入了多少同学数据
						
						 str[i+1]=str[i]; 
					}
					 str[sc3-1]=sc4;
					 xx++;
					 System.out.println("学号\t成绩");
					 for(int a=0;a<=xx;a++){
				      System.out.println((a+1)+"\t"+str[a]);		 
					 }
					System.out.println("插入成功!!");
					
				 }
				 
			  }
			  	//成绩统计信息
			  if(caoZou.equalsIgnoreCase("6")){
				  int zf=0,zgf=0,zdf=str[0],q1=0;//总分,最高分,最低分
				  System.out.println("成绩统计信息");
				  System.out.println("学号\t成绩");
				  //cj是为了获取str[]的下标!
				  for(int cj=0;cj<=xx;cj++){
					 zf+=str[cj];
					 System.out.println((cj+1)+"\t"+(str[cj]));q1++;
					 }
				  
				   for (int i = 0; i <=xx; i++) {
					 if (zgf<str[i]) {
						 zgf=str[i];
					}
					 if (zdf>str[i]) {
						zdf=str[i];
					}
				}
				  System.out.print("总分:"+zf);
				  System.out.print("\t平均分:"+((double)zf/q1));
				  System.out.print("\t最高分:"+zgf);
				
				  System.out.println("\t最低分:"+zdf);
				  }
			  			//等级详细信息
				  if(caoZou.equalsIgnoreCase("7")){
					  System.out.println("等级详细信息");
					  System.out.println("学号\t成绩\t等级");
					  for (int i = 0; i <=xx; i++) {
						if (str[i]>=60&&str[i]<70) {
							System.out.println((i+1)+"\t"+str[i]+"\t及格");
						}else if(str[i]>=70&&str[i]<80){
							System.out.println((i+1)+"\t"+str[i]+"\t一般");
						}else if(str[i]>=80&&str[i]<90){
							System.out.println((i+1)+"\t"+str[i]+"\t良好");
						}else if(str[i]>=90){
							System.out.println((i+1)+"\t"+str[i]+"\t优秀");
						}else{
							System.out.println((i+1)+"\t"+str[i]+"\t不及格");
						}
					}
				  }
				  //排序
				  if (caoZou.equalsIgnoreCase("8")) {
					for (int i = 0; i <xx; i++) {
						for (int j = 0; j <=xx-1-i; j++) {
							if (str[j]<str[j+1]) {
								int temp=str[j];
								str[j]=str[j+1];
								str[j+1]=temp;
							}
						}
					}
					System.out.println("学号\t成绩");
					for (int k = 0; k <=xx; k++) {
						System.out.println((k+1)+"\t"+str[k]);
					}
				}
				  if (caoZou.equalsIgnoreCase("9")) {
					    System.out.println("程序已经退出!");
					    break;
				}
			  }
		 }
	
	     public static void ZhuDish(){
	    	 System.out.println("**************************");
	            System.out.println("    1.添加");
	            System.out.println("    2.删除");
	            System.out.println("    3.修改");
	            System.out.println("    4.查询");
	            System.out.println("    5.插入");
	            System.out.println("    6.成绩统计信息");
	            System.out.println("    7.等级详细信息");
	            System.out.println("    8.排序");
	            System.out.println("    9.退出程序");
	            System.out.println("**************************");
	            System.out.println("请输入需要操作的键:");
	     }
	     
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值