当前位置: 首页 > 知识库问答 >
问题:

产生错误输出的简单数组插入程序

阙繁
2023-03-14

这里有一个非常简单的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个答案

欧阳山
2023-03-14

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

for(int i=6;i>=3;i--)    //Moving the 4th to 6th elements to 5th to 7th elements
    {
        A[i]=A[i-1];
    }
String a=Biff.readLine();    //Taking input for 4th empty position
A[3]=Integer.parseInt(a);

我希望我没弄错你的问题。

钮勇
2023-03-14

初始循环没有为第7个元素赋值,因此它仍然为0。

然后把第七个元素复制到第六个元素

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

所以第六和第七元素都应该是0。

将循环更改为:

    for(int i=0;i<A.length;i++)
    { //         ^^^^^^^^^------------------------ change is here
        System.out.println("Enter an integer");
        String a=Biff.readLine();
        A[i]=Integer.parseInt(a);
    }
 类似资料:
  • 有人知道为什么这么简单的查询会出现两个错误吗?错误消息是: 警告:mysqli::准备():无法获取mysqli在(...)/functions.php行503 致命错误:在第504行的(…)functions.php中调用null上的成员函数bind_param()

  • 我正在尝试使用< code > DataSet . writeastext(" file:///path/to/my/file ")将数据集API程序的结果写入一个文件。 但是,该程序不产生任何输出。也不会创建输出文件。这可能是什么原因?

  • 假设我们有下面的Jade源码: - var title = 'yay' h1.title #{title} p Just an example 当 compileDebug 选项不是false, Jade 会编译时会把函数里加上 __.lineno = n;, 这个参数会在编译出错时传递给rethrow(), 而这个函数会在Jade初始输出时给出一个有用的错误信息。 function anonym

  • 新数组列表 我用多头填充这个数组列表。 当我试图将其插入postgresql时,我使用以下方法: 使用JDBC模板。但是当我试图运行这段代码时,它在“ARRAY[?]”上给出了一个错误。但如果temp2是一个单一的数字,比如:1253214,它就可以工作。有人有主意吗? 我的错误是: PreparedStatementCallback;错误的SQL语法[UPDATE pb1plnitm SET p

  • 这是一些我更愿意自己解决的工作,所以如果可能的话,请不要直接给出答案,但也许可以给我指明正确的方向,为什么我会从循环输出中收到错误,为什么if语句不会产生输出。 你知道是什么导致了这一切吗?

  • 我有一个数据类型的ArrayList(它存储一个名为name的字符串和一个名为age的整数)。打印Arraylist的内容时,它会打印正确的年龄,但与我上次添加的元素的名称相同。下面是PrintCollection方法 } 这是数据类