如何将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、 我没有要求任何人为我做这件事。我所要求的只是如何做的建议。我迷路了,不明白,所以我尝试着去做。我在寻求建议并不坏。如果没有人,没有人可以学习