public class Arrays {
//創建一個Integer空數組
public static Integer[] player=null;
//添加球員號碼
private static int size=0;//初始化數組的元素個數
static StringBuffer sb=new StringBuffer();
public static void init(int initialCapacity){//初始容量為5的線性列表,用來存儲數據
if(initialCapacity<0){
throw new IllegalArgumentException("容量不能為負數!");
}
player=new Integer[initialCapacity];
}
public static void add(Integer playNum){//為數組添加元素
//數組擴容
if(size==player.length){
Integer[] temp=java.util.Arrays.copyOf(player, player.length*2);
player=temp;
}
player[size]=playNum;
size++;
}
private static void replace(int indexNum,int setNum) {//根據輸入的數據替換成新的數據
int index=getIndexNum(indexNum);//根據輸入的數據查看索引位置
if(index>=0){
player[index]=setNum;
}
}
private static void indexReplace(int index, int newData) {//根據輸入索引位置替換數據
if(index<0 || index>=size){
throw new IllegalArgumentException("超出索引位置!");
}
player[index]=newData;
}
private static int select(int index) {//根據索引位置查找對應的數據
if(index<0 || index>=size){
throw new IllegalArgumentException("超出索引位置!");
}
if(index>size-1){
return -1;
}
return player[index];
}
private static int getIndexNum(int indexNum) {//根據輸入的數據查看索引位置
for (int index = 0; index <size; index++) {
if(player[index].equals(indexNum)){
return index;
}
}
return -1;
}
private static void delete(int index) {//刪除指定索引位置的數據
if(index<0 || index>=size){
throw new IllegalArgumentException("超出索引位置!");
}
for (int i = index; i < size-1; i++) {
player[i]=player[i+1];
}
size--;
}
//打印數組
public static void print(){
if(player==null){
System.out.println("數組為空!");
return;
}
if(size==0){
System.out.println("[ ]");
return;
}
sb.append("[");
for (int index = 0; index < size; index++) {
sb.append(player[index]);
if(index!=size-1){
sb.append(",");
}else{
sb.append("]");
}
}
System.out.println(sb.toString());
}
public static void main(String[] args) {
init(5);
add(11);
add(22);
add(33);
add(44);
add(55);
add(66);
print();
// int data=select(4);
// System.out.println(data);
// int num=getIndexNum(33);//查找值為33的索引位置
// System.out.println(num);
//indexReplace(2,337);
//replace(22, 66);
//delete(3);
//print();
}
}