怎么修改,可以使我们输入一个n,查询之前我们输入的数组元素的值的下标0到n之间的所有元素

怎么修改,可以使我们输入一个n,查询之前我们输入的数组元素的值的下标0到n之间的所有元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import java.util.Scanner;
 
 
 
public class InfoMa {
     
    public static int global_val=0;
    //外貌
    public void notice() {
        System.out.println("***********************");
        System.out.println("1--插入数据");
        System.out.println("2--显示所有数据");
        System.out.println("3--在指定位置处插入数据");
        System.out.println("4--查询能被3整除的数据");
        System.out.println("0--退出");
        System.out.println("***********************");
        System.out.print("请输入相应的数字:");
    }
    //插入新数据
    public int[] insertData() {
        int insert[] = new int[20];
        Scanner s = new Scanner(System.in);
        for(global_val=0;global_val<9;global_val++) {
            System.out.println("请输入第"+(global_val+1)+"个数组");
            insert[global_val] = s.nextInt();
        }
         
        for(int n=0;n<global_val;n++) {
            System.out.print(insert[n]+" ");
             
        }
         
        return insert;
    }
    //展示数据
    public void  showData(int[] a) {
        for(int n=0;n<global_val;n++) {
            System.out.print(a[n]+" ");
 
        }
    }
    //展示数据重载 这里失败了用不了着这招
    public void showData(int[] a,int length) {
        for(int n=0;n<length;n++) {
            System.out.print(a[n]+" ");
 
        }
    }
    //在指定位置插入数据
    public void insertAtArray(int[] a, int n,int k) {
             
    }
 
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        String i;
        int element[] = new int[20];
        boolean j=true;
        InfoMa data = new InfoMa();
        Scanner input = new Scanner(System.in);
        while(j) {
            System.out.println();
            data.notice();
            i = input.next();
            switch(i) {
            case "1":element=data.insertData();break;
            case "2":data.showData(element);break;//问题就在这里
            case "0":System.out.println("已退出系统");j=false;break;
            default:System.out.println("请输入0-4的数字");
            }
        }
         
    }
 
}


正在回答

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

2回答

你是说插入数据时,可以让用户选择,想插入几个数据吗?那就在23行之前添加,int n=s.nextInt();然后23行的9改成n。祝:学习愉快

  • 飞一样的感觉 提问者 #1
    换句话说 应该是想增加一个功能 ,比如说 之前输入 1 2 3 4 5 6 7 8 9这些数组元素 然后输入一个5 可以显示 1 2 3 4 5数据
    2017-12-26 13:23:57
提问者 飞一样的感觉 2017-12-26 13:23:23

换句话说  应该是想增加一个功能 ,比如说 之前输入 1 2 3 4 5 6 7 8 9这些数组元素 然后输入一个5 可以显示 1 2 3 4 5数据

  • 那就是展示数据呗?跟你showData()相似,修改一下就行了。 public void showData(int[] a,int len) { for(int n=0;n<len;n++) { System.out.print(a[n]+" "); } }
    2017-12-26 14:22:16
  • 提问者 飞一样的感觉 回复 好帮手慕雪 #2
    这一段 代码里面是有的 就是主函数里面 要怎么用呢 上面主函数里面调用不出来 要怎么改呢
    2017-12-26 15:00:55
  • 提问者 飞一样的感觉 回复 好帮手慕雪 #3
    谢谢助教,我刚刚自己弄出来了
    2017-12-26 15:09:59
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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