如何将java程序从数组修改为arraylist对象? //在一个列表中设置随机数目的标记 //一维阵列 //boardSize大小的板中的数字标记 公共类SimpleTocom { //常数 私有最终静态int默认_标记=3; 专用最终静态int默认电路板尺寸=10; //数据成员 私有int[]标记;//存储标记位置 private int boardSize;//存储板的大小 私人内部营销人员; //默认构造函数 //10块板上有3个标记 公共SimpleTocom() { 这(默认的_标记、默认的_板大小); } //要设置的构造函数 //numMarkers和boardSize 公共SimpleDotCom(整数标记,整数板大小) { 标记=新整数[numMarkers]; this.boardSize=boardSize; endOfMarkers=markers.length-1; int i,j,randNum; int[]原始=新int[boardSize]; 对于(i=0;i=original.length-markers.length; 我——) { randNum=(int)(Math.random()*(i+1)); //交换原始[i]和原始[randNum] j=原件[i]; 原始[i]=原始[randNum]; 原始[randNum]=j; } 对于(i=0;i

如何将java程序从数组修改为arraylist对象? //在一个列表中设置随机数目的标记 //一维阵列 //boardSize大小的板中的数字标记 公共类SimpleTocom { //常数 私有最终静态int默认_标记=3; 专用最终静态int默认电路板尺寸=10; //数据成员 私有int[]标记;//存储标记位置 private int boardSize;//存储板的大小 私人内部营销人员; //默认构造函数 //10块板上有3个标记 公共SimpleTocom() { 这(默认的_标记、默认的_板大小); } //要设置的构造函数 //numMarkers和boardSize 公共SimpleDotCom(整数标记,整数板大小) { 标记=新整数[numMarkers]; this.boardSize=boardSize; endOfMarkers=markers.length-1; int i,j,randNum; int[]原始=新int[boardSize]; 对于(i=0;i=original.length-markers.length; 我——) { randNum=(int)(Math.random()*(i+1)); //交换原始[i]和原始[randNum] j=原件[i]; 原始[i]=原始[randNum]; 原始[randNum]=j; } 对于(i=0;i,java,arrays,refactoring,arraylist,Java,Arrays,Refactoring,Arraylist,从更改标记的类型开始: // sets up random number of markers in a // one-dimensional array // numMarkers markers in a board of size boardSize public class SimpleDotCom { // constants private final static int DEFAULT_MARKERS = 3; private final static int DEF

从更改
标记的类型开始:

// sets up random number of markers in a
// one-dimensional array
// numMarkers markers in a board of size boardSize
public class SimpleDotCom
{
  // constants
  private final static int DEFAULT_MARKERS = 3;
  private final static int DEFAULT_BOARD_SIZE = 10;

  // data members
  private int[] markers; // stores the marker positions
  private int boardSize; // stores the size of the board
  private int endOfMarkers;

  // default constructor
  // 3 markers in a board of 10
  public SimpleDotCom()
  {
    this( DEFAULT_MARKERS, DEFAULT_BOARD_SIZE );
  }

  // constructor to set up
  // numMarkers and boardSize
  public SimpleDotCom( int numMarkers, int boardSize )
  {
    markers = new int[numMarkers];
    this.boardSize = boardSize;
    endOfMarkers = markers.length - 1;

    int i, j, randNum;
    int[] original = new int[boardSize];

    for ( i = 0; i < original.length; i++ )
      original[i] = i;

    // scramble original
    for ( i = original.length - 1;
          i >= original.length - markers.length;
          i-- )
    {
      randNum = (int) (Math.random() * (i+1) );
      // swap original[i] and original[randNum]
      j = original[i];
      original[i] = original[randNum];
      original[randNum] = j;
    }

    for ( i = 0; i < markers.length; i++ )
      markers[i] = original[i+original.length-markers.length];
  } // end SimpleDotCom

  // check if the guess is a hit or a miss
  // precondition: guess is valid
  public String checkYourself( int guess )
  {
    for ( int i = 0; i <= endOfMarkers; i++ )
      if ( markers[i] == guess )
      {
        markers[i] = markers[endOfMarkers];
        endOfMarkers--;
        return "Hit";
      }
    return "Miss";
  } // end checkYourself

  // returns the number of markers in the game
  public int numberOfMarkers()
  {
    return markers.length;
  } // end numberOfMarkers

  // returns the size of the board
  public int sizeOfBoard()
  {
    return boardSize;
  } // end sizeOfBoard
} // end SimpleDotCom
私有数组列表标记;

您的IDE现在应该向您显示大量错误,因为
ArrayList
和数组不可互换。修复这些错误,您就完成了。

从更改
标记的类型开始:

// sets up random number of markers in a
// one-dimensional array
// numMarkers markers in a board of size boardSize
public class SimpleDotCom
{
  // constants
  private final static int DEFAULT_MARKERS = 3;
  private final static int DEFAULT_BOARD_SIZE = 10;

  // data members
  private int[] markers; // stores the marker positions
  private int boardSize; // stores the size of the board
  private int endOfMarkers;

  // default constructor
  // 3 markers in a board of 10
  public SimpleDotCom()
  {
    this( DEFAULT_MARKERS, DEFAULT_BOARD_SIZE );
  }

  // constructor to set up
  // numMarkers and boardSize
  public SimpleDotCom( int numMarkers, int boardSize )
  {
    markers = new int[numMarkers];
    this.boardSize = boardSize;
    endOfMarkers = markers.length - 1;

    int i, j, randNum;
    int[] original = new int[boardSize];

    for ( i = 0; i < original.length; i++ )
      original[i] = i;

    // scramble original
    for ( i = original.length - 1;
          i >= original.length - markers.length;
          i-- )
    {
      randNum = (int) (Math.random() * (i+1) );
      // swap original[i] and original[randNum]
      j = original[i];
      original[i] = original[randNum];
      original[randNum] = j;
    }

    for ( i = 0; i < markers.length; i++ )
      markers[i] = original[i+original.length-markers.length];
  } // end SimpleDotCom

  // check if the guess is a hit or a miss
  // precondition: guess is valid
  public String checkYourself( int guess )
  {
    for ( int i = 0; i <= endOfMarkers; i++ )
      if ( markers[i] == guess )
      {
        markers[i] = markers[endOfMarkers];
        endOfMarkers--;
        return "Hit";
      }
    return "Miss";
  } // end checkYourself

  // returns the number of markers in the game
  public int numberOfMarkers()
  {
    return markers.length;
  } // end numberOfMarkers

  // returns the size of the board
  public int sizeOfBoard()
  {
    return boardSize;
  } // end sizeOfBoard
} // end SimpleDotCom
私有数组列表标记;

您的IDE现在应该向您显示大量错误,因为
ArrayList
和数组不可互换。修复这些错误,您就完成了。

您可以从将所有标记从数组更改为ArrayList开始,然后修复错误

但更好的方法是考虑您正在执行的操作类型。您通常会对数组执行许多操作:创建数组、添加元素、获取元素。如何对数组执行这些操作?如何对ArrayList执行这些操作?如果不知道,请在ArrayList文档中查找。找到位置对数组执行此操作,然后更改为对ArrayList执行此操作的方式


更重要的是,数组和ArrayList的基本结构有什么区别。你在课堂上已经学过这个(提示-大小是多少?)。这对向其中添加对象的方式有影响吗?也许您应该更改添加对象的方式?

您可以从将所有标记从数组更改为ArrayList开始,然后修复错误

但更好的方法是考虑您正在执行的操作类型。您通常会对数组执行许多操作:创建数组、添加元素、获取元素。如何对数组执行这些操作?如何对ArrayList执行这些操作?如果不知道,请在ArrayList文档中查找。找到位置对数组执行此操作,然后更改为对ArrayList执行此操作的方式


更重要的是,数组和ArrayList的基本结构有什么区别。你在课堂上已经学过这个(提示-大小是多少?)。这对向其中添加对象的方式有影响吗?也许您应该更改添加对象的方式?

我看不到公开数组的公共api。因此无需将其从数组更改为ArrayList

如果仍然需要更改,请查看ArrayList API:

使用数组和[index]可以使用.get(index)和.set(index)方法在ArrayList上执行的操作


myArray.length是myArrayList.size()。

我看不到公开数组的公共api。因此无需将其从数组更改为ArrayList

如果仍然需要更改,请查看ArrayList API:

使用数组和[index]可以使用.get(index)和.set(index)方法在ArrayList上执行的操作


myArray.length是myArrayList.size()。

根据上述答案获得ArrayList对象“标记”后,以下是ArrayList的基本知识(不言自明):

  • 添加(对象)
  • 获取(int)
  • 大小()
  • 删除(int)
  • indexOf(对象)-查找对象的索引 对象的第一个引用
  • 清除()

根据上述答案获得ArrayList对象“标记”后,以下是ArrayList基础知识(不言自明):

  • 添加(对象)
  • 获取(int)
  • 大小()
  • 删除(int)
  • indexOf(对象)-查找对象的索引 对象的第一个引用
  • 清除()

是的,我不会就此撒谎。我只是不知道如何做这个节目。这是我来这里的唯一原因。我不明白。是的,这是家庭作业。我没有要求任何人为我做这件事。我所要求的只是如何做的建议。我迷路了,不明白,所以我正在努力。我在寻求建议并不坏。没有人会如果没有人愿意向需要帮助的人提供建议,那就去了解。感谢所有提供建议的人。我非常感激,这有助于我了解我需要做什么。是的,我不会撒谎。我只是不知道如何做这个项目。这是我来这里的唯一原因。我不明白。是的,这是homework、 我没有要求任何人为我做这件事。我所要求的只是如何做的建议。我迷路了,不明白,所以我尝试着去做。我在寻求建议并不坏。如果没有人,没有人可以学习