8-2作业问题

8-2作业问题

package Work;

import java.util.Scanner;

public class WorkDemo {

	//创建显示窗口页面
	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("********************************");

		
	} 
	
	//创建插入数据的方法
	public int[] insertData() {
       
        int[] a = new int[10];
        
        for (int i = 0; i < a.length - 1; i++) {
            System.out.println("请输入第" + (i + 1) + "个数据:");
            Scanner sc=new Scanner (System.in);           
            a[i] = sc.nextInt();
            if (a[i] == 0) {
                System.out.println("要求插入的数据不能为0,请重新插入数据");
               continue;
            }
        }
        System.out.println("当前的数组元素为:");
        for (int i = 0; i < a.length - 1; i++) {
            System.out.print(a[i] + "  ");
        }
        return a;
    }

	//创建显示所有数据的方法
	 public void showData(int[] a, int length) {
		 
		 if (a[9] == 0) {
	            System.out.println("当前的数组元素为:");
	            for (int i = 0; i < a.length - 1; i++) {
	                System.out.print(a[i] + "  ");
	            }
	        } else {
	            System.out.println("当前的数组元素为:");
	            for (int i = 0; i < a.length; i++) {
	                System.out.print(a[i] + "  ");
	            }
	        }
	    }

		 
	 

	
	
	
	
	public static void main(String[] args) {
		
		 int[] a = null;
		 
		
		WorkDemo play=new WorkDemo();		
		WorkDemo sr=new WorkDemo();	
		WorkDemo xplay=new WorkDemo();
		WorkDemo jcharu=new WorkDemo();
		boolean exit = false;// 给while循环boolean值赋值
        while (!exit) {
         
            play.notice();
            System.out.println();
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入对应的数字进行操作:");
          int x=sc.nextInt();
            switch(x) {
            
            case 1:sr.insertData();break;
            case 2:xplay.showData(a, a.length);break;
           
            	
            	
            }
            System.out.println();
            }
		
		
		
		
				
		
	}

}

http://img1.sycdn.imooc.com/climg//59c4d1160001953806030361.jpg

为什么输入2之后无法显示数组元素啊   改了半天了 还是不行啊 到底哪里错了?

正在回答

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

3回答

只创建一个类的对象就可以了,都通过一个类来完成方法的调用;另外你的插入数据方法有返回值,而你又没有用数组接收,所以会报空指针,建议将case  1中的内容改为a=sr.insertData()

  • 猪哥哥呀 提问者 #1
    谢谢,我自己改了好久不知道咋回事, 原来是a数组没得到赋值; 麻烦您再帮我看下 我在下面回复的问题,弹出的窗口是啥意思
    2017-09-22 22:58:48
  • 猪哥哥呀 提问者 #2
    非常感谢!
    2017-09-22 23:26:39
提问者 猪哥哥呀 2017-09-22 22:57:38

http://img1.sycdn.imooc.com/climg//59c524b20001316c12450644.jpg

这个窗口是咋回事  虽然可以正常运行 但是我每次保存的时候都会弹出来。

  • 提示是说修改的代码不能在虚拟机上运行,你是运行时修改代码了吗?
    2017-09-25 11:47:07
  • 提问者 猪哥哥呀 回复 irista23 #2
    嗯 边运行边修改保存了
    2017-09-26 00:08:49
  • irista23 回复 提问者 猪哥哥呀 #3
    建议是修改保存再运行~
    2017-09-26 10:56:14
提问者 猪哥哥呀 2017-09-22 17:02:36

求老师帮我解答下啊

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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