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

将值输入数组时出现异常[重复]

别宏盛
2023-03-14

我正在尝试编写一段代码来索引搜索一个值,如果它存在于数组中。以下是代码的样子:

import java.util.*;

public class indexSearch
{
    public static void main(String[] args) 
    {

        Scanner scanner=new Scanner(System.in);

        int no1,no2;
        System.out.println("Enter the first dimension of 2D array");
        no1=scanner.nextInt();
        int nos[][]=new int[no1][];

        for(int i =0;i<nos.length ;i++)
        {
            System.out.println("Enter the second dimension corresponding to first index "+i);
            no2=scanner.nextInt();
            System.out.println("Enter the values into it now");
            for(int j=0;j<no2;j++)
            {
                nos[i][j]=scanner.nextInt();
            }
        }
    
        int posi1=-1;int posi2=-1;
        System.out.println("Enter the no you want to search");
        int l=scanner.nextInt();
        for(int i=0;i<nos.length;i++)
        {
            for(int j = 0; j < nos[i].length;j++)
            {
                if(nos[i][j]==l)
                {
                    posi1=i;
                    posi2=j;
                }   
            }
        }
        if(posi1!=-1&&posi2!=-1)
        {
            System.out.println("The index was "+posi1+","+posi2);
        }
        else
        {
            System.out.println("The no doesnt exist");
        }
    }    
} 

每次我运行代码时,在将值输入数组时,它都会给我这个空指针异常:线程“main”java中的异常。lang.NullPointerException:无法存储到int数组,因为在indexSearch处“[]”为null。main(indexSearch.java:22)

为什么会这样,我该如何修复它?

共有1个答案

邵捷
2023-03-14

您之前已经问过这个问题。在尝试将值写入之前,您仍然没有初始化nos[i]。在j的循环之前,设置nos[i]=new int[no2]

 类似资料:
  • 我需要使用chartengine为我的应用程序创建饼图,在那里我需要为类别及其费用绘制饼图。我需要在饼图中获得类别,所以我从数据库中将类别放入arraylist中,然后将它们放入数组中。 现在它给出了例外。 10-29 21:41:22.720 878-878/com.example.username.weddingplanning e/AndroidRuntime:致命异常:main java.

  • HTTP状态500-请求处理失败;嵌套异常是org.springframework.dao.dataIntegrityViolationException:键“groups_groupid”的重复条目“2”;SQL[N/A];约束[null];嵌套异常是org.hibernate.exception.constraintViolationException:键“groups_groupid”的重复

  • 我们有一个apache beam数据流作业,该作业从大查询中读取数据,并在使用Datastax驱动程序写入Cassandra之前将其转换为POJO。我最近在表中添加了一个新的blob列,并在POJO中添加了一个ByteBuffer字段。 我是如何创建ByteBuffer的 这是管道片段公共空执行管道()抛出异常{ 。。。。writeDataToCassandra(installSkuData);

  • 我们的父工作流代码基本上是这样的(来自组织. 我们发现,在大多数情况下,父工作流工作者无法启动子工作流,并抛出上面的超时异常。它疯狂地重试,但从未成功,并一遍又一遍地打印超时异常。然而,有时我们非常幸运,它的工作。有时在活动工作器上它甚至更早就失败了,它抛出同样的异常。我们认为这是由于数据太大(大约5MB ),无法在超时时间内发送(从日志判断,我们猜测设置为2s)。如果我们用少量虚假数据调用< c

  • 我是Java新手,需要在Microsoft Excel单元格中添加注释图像我的代码返回异常,有人可以帮助吗?我的Java代码 这是一个例外 线程“main”java中出现异常。lang.NoClassDefFoundError:org/apache/commons/codec/digest/DigestUtils位于org。阿帕奇。波伊。hssf。用户模型。HSSF工作手册。在应用程序中添加图片(

  • 我在localStorage中有一个变量集,我想把它放到PHP中。当php执行时,值已经在本地存储中设置,但是我应该如何进入php呢? 我试过这样的方法: