简单数组插入程序产生不正确的输出

时间:2016-07-10 13:00:05

标签: java arrays insertion

这是一个非常简单的java程序,我在其中声明任何包含7个元素的数组,输入前六个,将第四个元素移动到第六个元素到第五个到第七个位置,并获取第四个空位置的值:

int A[]=new int[7];
        for(int i=0;i<6;i++)
        {
            System.out.println("Enter an integer");
            String a=Biff.readLine();
            A[i]=Integer.parseInt(a);
        }
        for(int i=4;i<6;i++)
        {
            A[i]=A[i+1];
        }
        System.out.println("Enter the integer to be inserted");
        String a=Biff.readLine();
        A[4]=Integer.parseInt(a);

但是,当打印所有数组元素时,第六和第七个位置为0,我不知道为什么。原因和修复将不胜感激。 注意:我不能使用任何数组方法,必须保持简单。

  • 输入:1,2,3,4,5,6;然后1;
  • 期望输出:1,2,3,4,5,1,6;
  • 实际产量:1,2,3,4,1,0,0; ​​

2 个答案:

答案 0 :(得分:5)

你的初始循环没有为第7个元素赋值,所以它仍为0.

之后你将第7个元素复制到第6个元素

sn_number

所以第6和第7个元素都应为0。

将循环更改为:

 A[i]=A[i+1];

答案 1 :(得分:0)

您正在以错误的方式移动值。使用此代码并了解您的错误:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

    try {
        Field f = toolbar.getClass().getDeclaredField("mTitleTextView");
        f.setAccessible(true);
        TextView toolbarTextView = (TextView) f.get(toolbar);
        toolbarTextView.setEllipsize(TextUtils.TruncateAt.MARQUEE);
        toolbarTextView.setFocusable(true);
        toolbarTextView.setFocusableInTouchMode(true);
        toolbarTextView.requestFocus();
        toolbarTextView.setSingleLine(true);
        toolbarTextView.setSelected(true);
        toolbarTextView.setMarqueeRepeatLimit(-1);

        // set text on Textview

        toolbarTextView.setText("Hello Android ! This is a sample marquee text. That's great. Enjoy");
    } catch (NoSuchFieldException e) {
    } catch (IllegalAccessException e) {
    }

我希望我的问题是对的。