如何获取ArrayList<;整数>;和扫描器玩得好吗? import java.util.*; 公共类CyclicShiftApp{ 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); ArrayList=新建ArrayList(); while(scan.hasNextInt()){ 添加(scan.nextInt()); } 整数[]nums=新整数[list.size()]; nums=list.toArray(nums); 对于(int i=0;i

如何获取ArrayList<;整数>;和扫描器玩得好吗? import java.util.*; 公共类CyclicShiftApp{ 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); ArrayList=新建ArrayList(); while(scan.hasNextInt()){ 添加(scan.nextInt()); } 整数[]nums=新整数[list.size()]; nums=list.toArray(nums); 对于(int i=0;i,java,casting,arraylist,java.util.scanner,Java,Casting,Arraylist,Java.util.scanner,感谢可怜的人的调试,我发现while(scan.hasNextInt())实际上没有添加任何内容。可能出了什么问题?我的google fu很弱还是缺乏专业知识让我失望?我对编程很陌生,对列表很不熟悉,所以认为这是一个很好的第一步,但有些东西没有添加。它也编译得很好,所以不再是语法了.可能是铸造问题?您的问题在于: import java.util.*; public class CyclicShiftApp{ public static void main(String[] args)

感谢可怜的人的调试,我发现
while(scan.hasNextInt())
实际上没有添加任何内容。可能出了什么问题?我的google fu很弱还是缺乏专业知识让我失望?我对编程很陌生,对列表很不熟悉,所以认为这是一个很好的第一步,但有些东西没有添加。它也编译得很好,所以不再是语法了.可能是铸造问题?

您的问题在于:

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]);
      }   
}

这有用吗,萨姆威斯大师

Sample Input :14 17 18 33 54 1 4 6 q
import java.util.*;
公共类CyclicShiftApp{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
ArrayList=新建ArrayList();
系统输出打印(“请输入整数”);
System.out.println(“(EOF或非整数终止):”;
while(scan.hasNextInt()){
添加(scan.nextInt());
}
整数[]nums=list.toArray(新整数[0]);
对于(int i=0;i
我假设您需要列表作为数组是有原因的,否则就不需要将其转换为数组。正如Jon Skeet在评论中提到的,只有当流没有下一个int时,循环才会终止,即,如果您使用的是“java CyclicShiftApp
import java.util.*;
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]);
    }
  }   
}
类SimpleArrayList{ 公共静态void main(字符串参数[]) { 扫描仪sc=新的扫描仪(System.in); ArrayList al2=新的ArrayList(); System.out.println(“在列表中输入项目”); while(sc.hasnetint()) { al2.add(sc.nextInt()); } 迭代器it1=al2.Iterator(); /*循环将在无法获取整数值时终止*/ while(it1.hasNext()) { System.out.println(it1.next()); } } }
这是将Scanner和ArrayList结合使用的最简单的方法之一

import java.util.*;
class SimpleArrayList{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
ArrayList <Integer> al2 = new ArrayList<Integer>();
System.out.println("enter the item in list");
while(sc.hasNextInt())
{
al2.add(sc.nextInt());
}
Iterator it1 = al2.iterator();
/*loop will be terminated when it will not get integer value */
     while(it1.hasNext())
{
 System.out.println(it1.next());
}
}
}
import java.util.*;
公共班机
{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
int num=sc.nextInt();
ArrayList=新的ArrayList(num);

对于(inti=0;iYou没有告诉我们您提供了什么输入。它对我有效。如果我键入10(返回)20(返回)30(返回)Ctrl-D(返回)它显示了三个数字。哦,对不起。只是一个带空格的数字列表。例如:1417183354146@SamwiseGibbens:同样,如果我输入,然后按回车键,然后按Ctrl-D,回车键,它会打印出所有的数字。您如何终止输入?(祝贺您展示了一个简短但完整的程序,并尝试从头开始学习,而不是直接跑到GUI+数据库等。我希望每个人都采用这种方法。)
14183354146
它将被视为
String
输入和
scan.hasnetint()
将返回false。@extremecorders:您可以通过提供任何非整数来结束循环。在找到最后一个整数后,是否有办法将其截断?我想Hasnetint已经修复了这个问题?它似乎应该变为..“如果没有下一个整数,请取消循环”。是的,但为此您必须终止输入。或者使用h自动结束或类似于Windows命令行上的Ctrl+C。(或Ctrl+D和enter)除非您定义一些,否则它无法检测最后一个int。因此,请使用字符或非整数指定它是输入的结束。
import java.util.*;
class SimpleArrayList{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
ArrayList <Integer> al2 = new ArrayList<Integer>();
System.out.println("enter the item in list");
while(sc.hasNextInt())
{
al2.add(sc.nextInt());
}
Iterator it1 = al2.iterator();
/*loop will be terminated when it will not get integer value */
     while(it1.hasNext())
{
 System.out.println(it1.next());
}
}
}
import java.util.*;
public class Main
{
public static void main(String args[])
{
    Scanner sc=new Scanner(System.in);
    int num=sc.nextInt();
    ArrayList<Integer> list=new ArrayList<Integer>(num);
    for(int i=0;i<num;i++)
    {
    list.add(sc.nextInt());

   }
    Iterator itr=list.iterator();
        {
       while(itr.hasNext())
       {
           System.out.print(itr.next()+" ");
        }
        }
    }
}