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

在java中将输入字符串转换为长度可变的int数组

锺离穆冉
2023-03-14

这是我的代码片段。我想给用户一个可变长度的数字并将其转换为int数组。示例:输入:352040,输出:{3,5,2,0,4,0}

  Scanner in = new Scanner(System.in); 
    System.out.println(" Enter your size number: ");
         int length = in.nextInt();

    System.out.println(" Enter a number: ");
         int number = in.nextInt();

         int[] intArray = null;
         String str = Integer.toString(number);

         for ( int i =0; i < length ;i++)
           intArray[i] = Integer.parseInt(String.valueOf(str.charAt(i)));


           System.out.println(Arrays.toString(intArray));

这出现了一个错误(线程“main”java.lang.NullPointerException中的异常),我不明白为什么。

谢谢你的帮助。

共有3个答案

池赞
2023-03-14

您需要先创建数组。

     int[] intArray = new int[length];  // Create array
     String str = Integer.toString(number);

     for ( int i =0; i < length -1;i++) 
       intArray[i] = Integer.parseInt(String.valueOf(str.charAt(i)));
何博涛
2023-03-14

拥有一个对象数组需要经历2个步骤。你没有覆盖第二步。

  1. 声明一个变量以引用数组

前面的程序用以下代码行声明了一个数组(名为anArray):

//声明整数数组int[]anArray;

2.创建、初始化和访问阵列

创建数组的一种方法是使用新操作符。ArrayDemo程序中的下一条语句为10个整数元素分配一个具有足够内存的数组,并将该数组分配给anArray变量

//创建一个整数数组anArray=new int[10];如果缺少此语句,编译器将打印如下错误,编译失败:

阿拉德莫。java:4:变量anArray可能尚未初始化。

如何解决您的问题:

不是将数组变量指向null,而是通过创建它来指向数组对象,如下所示:

int[] intArray = new int[length];
吴子昂
2023-03-14

同意注释,split(“”)只适用于javascript这里有一个代码片段,它可以满足OP的要求。。。

  String s = "352040";
  int[] intArray = new int[s.length()];
  for(int i = 0; i < s.length(); i++) {
      intArray[i] = Integer.valueOf(s.substring(i, i+1));
  }  
  System.out.println(Arrays.toString(intArray));
 类似资料:
  • 问题内容: 我正在尝试使用FOP和Java生成PDF文档。 我以字符串而不是文件的形式接收XML。 如何将该XML字符串转换为XML输入流,以便可以调用xslfoTransformer.transform(source,res); 其中source是我的XML字符串作为输入流。 请提供您的建议。 问题答案: 您可能希望将其转换为,而不是。使用StringReader执行此操作。StreamSour

  • 注意:这个问题包含不建议使用的前1.0代码!不过,答案是正确的。 要在Rust中将转换为,我可以执行以下操作: 我知道如何将转换为的唯一方法是获取其中的一个片段,然后像这样使用: 有没有办法直接将转换为?

  • 所以我尝试将int转换为string,然后再转换为charAt(0)、charAt(1)和charAt(2)。我这样做是为了把3位数的整数拆分成3个不同的整数。然后我想把这些整数转换成字符串。 我想做的是从101及以上的数字中提取并用文字打印出来。我有数百种、十种和一种方法。我试着把第一个整数应用到百分法,第二个整数应用到十分法,第三个整数应用到一分法。 这是一种 现在我正试着打印单词,我发现了3

  • 我正在尝试如何在Swift中将转换为。 我想出了一个变通方法,使用但是我想知道如何在Swift中完成这一切。

  • 我想将字符串转换为int。 例如: 如果是,则应将其转换为与相同的 为什么我需要这个。因为我要将unicode int转换为表情符号,所以我使用的是这段代码。 你能让我知道我该怎么做吗?

  • 我的代码不起作用,而且“checkValidNumber(瞬时值)”中有错误,表示字符串不能转换为double。