【问题标题】:Java, fill an array with a supplied numberJava,用提供的数字填充数组
【发布时间】:2014-11-29 13:17:21
【问题描述】:
import java.util.*;
public class IncreasingSum
{
    public static void ArrayList(int[] args)
    {
        Scanner kb=new Scanner(System.in);
        System.out.print("Enter a number:");
        int num=kb.nextInt();
        {   for (int loop=0; loop<num; loop++)
            ArrayList <X> myList = new ArrayList<X>();
            myList.add(loop);
        }
    }
}

我已经导入了 java.util.*;但它总是在 ArrayList 上报错。

【问题讨论】:

  • 我的回答能解决你的问题吗?您需要更多帮助吗?

标签: java arrays loops arraylist java.util.scanner


【解决方案1】:

有很多问题

  • 应该是 static void main(String [] args),而不是 static void ArrayList(int [] args)
  • X 应该是整数
  • 循环应该在 add() 周围,而不是 new ArrayList()
  • 循环外不需要额外的大括号

可能的缺陷

  • 代码应该可能应该使用 add(n) 而不是 add(loop) 来“填充”具有相同数字的数组
  • 如果以上为真,则只需使用 Collections.fill(myList, num);摆脱你的循环

固定

import java.util.ArrayList;
import java.util.Scanner;

public class IncreasingSum {
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        System.out.print("Enter a number:");
        int num = kb.nextInt();
        ArrayList<Integer> myList = new ArrayList<Integer>();

        for (int loop = 0; loop < num; loop++) {
            myList.add(loop);
        }
    }
}

【讨论】:

    【解决方案2】:

    语法错误

    您在 ArrayList 行上收到错误的原因是您实例化它的方式。

    这是一个如何将 ArrayLists 与泛型一起使用的示例:

    http://docs.oracle.com/javase/tutorial/java/generics/why.html

    基本上,在您的声明中,您需要将 X 替换为要存储在 ArrayList 中的元素类。在你的情况下,这将是整数。

    ArrayList <X> myList = new ArrayList<X>();        //Throws error    
    
    ArrayList<Integer> myList=new ArrayList<Integer>();  //Will suit your need 
    

    修复列表声明后,您还需要使用 for 循环修复该行。 for 循环的起始大括号应位于循环声明之后,以修复您的其他语法错误。

    {   for (int loop=0; loop<num; loop++)   //Throws error for your program 
    
    for (int loop=0; loop<num; loop++){      //The declaration you need
    

    其他潜在错误:

    您还需要在类中包含 main 方法来执行您的程序。

    仅供参考:

    方法名称的 Java 约定以小写字母开头。因此,即使您确实有一个名为 ArrayList 的方法,arrayList 也会更符合方法命名约定。

    https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html

    【讨论】:

      【解决方案3】:

      在 for 循环之前在数组列表中添加 Integer 并在循环中添加元素时,使用称为 Integer 的特定类作为泛型:

      ArrayList <Integer> myList = new ArrayList<Integer>();
      

      【讨论】:

        【解决方案4】:

        for 循环后需要括号。现在 for 循环中唯一的指令是多次创建新的 ArrayList。数组列表应该在上面声明for循环。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多