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

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

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下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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