编程语言
首页 > 编程语言> > java – 如何让ArrayList和Scanner玩得很好?

java – 如何让ArrayList和Scanner玩得很好?

作者:互联网

import java.util.*;

public class CyclicShiftApp{

   public static void main(String[] args){
      Scanner scan = new Scanner(System.in);
      ArrayList<Integer> list = new ArrayList<Integer>();
      while(scan.hasNextInt()){
         list.add(scan.nextInt());
      }
      Integer[] nums = new  Integer[list.size()];
      nums = list.toArray(nums);
      for(int i = 0;i < nums.length; i++){
      System.out.println(nums[i]);
      }   
}

由于糟糕的调试,我发现while(scan.hasNextInt())实际上并没有添加任何内容.可能出了什么问题?我的谷歌软弱还是缺乏让我失望的技术诀窍?我对编程很陌生,所以不熟悉Lists所以认为这将是一个不错的第一步,但有些东西并没有增加.它也编译好,所以它不是语法(不再).也许铸造问题?

解决方法:

这是否有效,掌握Samwise?

import java.util.*;

public class CyclicShiftApp{

public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    ArrayList<Integer> list = new ArrayList<Integer>();
    System.out.print("Enter integers please ");
    System.out.println("(EOF or non-integer to terminate): ");

    while(scan.hasNextInt()){
         list.add(scan.nextInt());
    }

    Integer [] nums = list.toArray(new Integer[0]);
    for(int i = 0; i < nums.length; i++){
       System.out.println(nums[i]);
    }
  }   
}

我假设您需要将列表作为数组,否则无需转换为数组.正如Jon Skeet在评论中提到的,循环将仅在流没有下一个int时终止,即.如果您正在使用’java CyclicShiftApp<非整数值或文件的EOF input_file.txt”.

标签:java-util-scanner,java,arraylist,casting
来源: https://codeday.me/bug/20191008/1871098.html