就是有一些显示一次 接着回到上级菜单。。看了好久也没看出哪里有错误

就是有一些显示一次 接着回到上级菜单。。看了好久也没看出哪里有错误

import java.util.InputMismatchException;

import java.util.Scanner;


public class guanli1 {

/**

* 初始化数学成绩

* @param length

* @return

*/

public float[] intcsh(int length) {

float []a=new float[length];

Scanner sc=new Scanner(System.in);

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

System.out.println("请输入"+(i+1)+"个数");

a[i]=sc.nextInt();

}

return a;

}

/**

* 求成绩的平均值

* @param a

* @return

*/

public void avg(float []a) {

float sum=0,avg=0;

for (int n=0;n< a.length;n++) {

sum=a[n]+sum;

}

avg=sum/a.length;

System.out.println("平均分:"+avg);

}

/**

* 统计成绩大于85的人

* @param a

*/

public void count(float[] a){

int count=0;

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

if (a[i]>85) {

count ++;

}

}

System.out.println("大于85的有"+count);

}

//修改指定位置处的成绩

public void xiugai(int n,int k,float[] a) {

for(int i=a.length-1;i>k;i--) {

a[i]=a[i-1];

}

a[k]=n;

}

public void shuchu(float[] a) {

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

System.out.println(a[i]);

}

}

/**

* 显示信息

*/

public void notice() {

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

System.out.println("1--初始化数学成绩");

System.out.println("2--求成绩得平均值");

System.out.println("3--统计成绩大于85分的人数");

System.out.println("4--修改指定位置处的成绩");

System.out.println("5--打印输出所有成绩");

System.out.println("0--退出");

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

}

public static void main(String[] args) {

// TODO 自动生成的方法存根

guanli1 gl=new guanli1();

Scanner sc=new Scanner (System.in);

int input;

int length =0;

float []a=gl.intcsh(length);

int n = 0,k=0;

while(true) {

gl.notice();

System.out.println("请输入对应的数字进行操作");

input=sc.nextInt();

if (input==0) {

System.out.println("退出");

break;

}

switch(input){

case 1:

System.out.println("输入要插入的个数:");

length = sc.nextInt();

a=gl.intcsh(length );

break;

case 2:

gl.avg(a);

break;

case 3:

gl.count(a);

break;

case 4:

if(a!=null) {

System.out.println("请输入数据:");

n=sc.nextInt();

System.out.println("请输入要插入数据的位置:");

k=sc.nextInt();

}else {

System.out.println("还未在数组中插入数据,请重新选择操作!");

}

gl.xiugai(n, k, a);

break;

case 5:

gl.shuchu(a);

break;

}


}

}

}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,“0.1s” 是指显示的出来了一下就消失了,还是显示后立马就出现菜单了呢? 可以具体演示,并截图一下,另外,操作完后出现主菜单是正常的 

如果同学指的是未初始化值前,输入别的操作会直接返回菜单,没有提示看下图所示代码: 

http://img1.sycdn.imooc.com//climg/5dfb113909db949606490369.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快·


好帮手慕小脸 2019-12-19 11:05:26

同学你好,测试了同学的代码,没有找到“有一些显示一次”是指哪里,具体情况贴上截图,方便老师帮你解决问题。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 黄河口大闸蟹 #1
    就是 比如说输入5打印所有数据,会显示0.1s,然后会直接回到菜单……
    2019-12-19 11:08:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师