Java 扫描器数组

标签 java

我在使用 java 时遇到了问题。我需要扫描数字(例如:1 3 4 2 5 6 7)并将它们放入数组中。问题是我不知道要等多久。是否有命令可以用来确定放入扫描仪中的数字的长度?

最佳答案

如果您不想使用 ArrayList,作为解决方法,我建议读取整行,然后拆分以获取长度和各个值:

   String line = scanner.nextLine();
   String[] values = line.split(" ");
   int[] intValues = new int[values.length];
   int indx = 0;
   for(String value:values){
     intValues[indx++] = Integer.parseInt(value);
   }

编辑:第二种方法:

   List<Integer> numList = new ArrayList<Integer>();
   int number = 0;
   while (number != -1) {
      System.out.println("Enter a positive integer value (or -1 to stop): ");
      number = Integer.parseInt(in.nextLine());
      if (number != -1){
        numList.add(number);
      }
   }
   in.close();

   Integer[] numArray = numList.toArray(new Integer[numList.size()]);

编辑2:处理同一行中的多个数字并以空行终止

List<Integer> numList = new ArrayList<Integer>();
while(true) {
   System.out.println("Enter a positive integer value (or -1 to stop): ");
   String line = in.nextLine();
   if(line.length() <1){
      break;
   }
   String [] numbers = line.split(" ");
   for(String num: numbers){
          numList.add(Integer.parseInt(num));
   }
 }
 in.close();

 Integer[] numArray = numList.toArray(new Integer[numList.size()]);

关于Java 扫描器数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13178354/

相关文章:

java - 错误:(20) Tag <uses-permission> attribute name has invalid character ' '

Java 邮件发件人名称掩码

java - 在 libgdx 中绘制背景图像,而不需要随着相机移动 Sprite

java - 解压缩带(嵌入)括号的 RLE 字符串时,递归如何工作?

Java-Selection 按 int 键对对象数组进行排序并显示在表中

java - 从 DataInputStream 读取几个 byte[]

java - 如何从intellij中的类中区分所有已实现的接口(interface)和父类(super class)?

java - 从 Graql 转换为 Java API

java - 如何在java小程序中写入文件?

java - 管道中的 Spark MLLib 2.0 分类特征