Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改数组的长度_Java_Arrays - Fatal编程技术网

Java 如何更改数组的长度

Java 如何更改数组的长度,java,arrays,Java,Arrays,我以前也问过类似的问题,但我不知道问题出在哪里。我是编程新手,不知道如何通过将数组的初始长度设置为变量来更改数组的长度,但它不会更新 我的代码: import java.util.Scanner; class computer{ int g = 1; //create int g = 2 int[] compguess = new int[g]; //set array compguess = 2 void guess(){ int rand

我以前也问过类似的问题,但我不知道问题出在哪里。我是编程新手,不知道如何通过将数组的初始长度设置为变量来更改数组的长度,但它不会更新

我的代码:

import java.util.Scanner;

class computer{

    int g = 1;  //create int g = 2
    int[] compguess = new int[g];   //set array compguess = 2

    void guess(){

        int rand;   //create int rand
        int i;  //create int i
        rand = (int) Math.ceil(Math.random()*10);   // set rand = # 1-10
        for (i = 0; i < compguess.length; i++){     // start if i < the L of the []-1 (1)

            if(rand == compguess[i]){   //if rand is equal to the Ith term, break the for loop
                break;
            }
        }   //end of for loop
        if(i == compguess.length - 1){  //if i is = the length of the [] - 1:
            compguess[g - 1] = rand;    // set the new last term in the [] = rand
            g++;    // add 1 to the length of the [] to make room for another int
            System.out.println(compguess[g - 1]);   // print the last term
        }
    }
}

public class game1player2 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        computer computer1 = new computer();    // create new computer object
        for(int a = 0; a < 3; a++){     // start if a < 3
            computer1.guess();      // start guess method
            for(int n = 0; n < computer1.compguess.length; n++) //print the contents of []
            System.out.println(computer1.compguess[n]);     // print out entire array
        }
        {
            input.close();
        }
    }
}
import java.util.Scanner;
班级电脑{
int g=1;//创建int g=2
int[]compguess=new int[g];//设置数组compguess=2
无效猜测(){
int rand;//创建int rand
int i;//创建int i
rand=(int)Math.ceil(Math.random()*10);//set rand=#1-10
对于(i=0;i
不能在Java中更改数组的长度。您需要创建一个新的数组并将值复制到另一个数组,或者使用一个新的数组。

您不能在Java中更改数组的长度。您需要创建一个新的数组并将值复制到另一个数组,或者使用一个新的数组。

您不能在Java中更改数组的长度。您需要创建一个新的数组并将值复制到另一个数组,或者使用一个新的数组。

您不能在Java中更改数组的长度。您需要创建一个新的数组并将值复制到上面,或者使用一个新的数组。

在Java中创建数组后,无法更改数组的长度。相反,必须分配一个新的更大的数组,并且必须复制元素。幸运的是,
列表
接口的一些实现已经在幕后为您实现了这一点,其中最常见的是


顾名思义,
ArrayList
包装了一个数组,提供了通过
add()
remove()
等方法添加/删除元素的方法(请参阅前面链接的文档)。如果内部数组已满,将创建一个比原来大1.5倍的新数组,并将旧元素复制到该数组中,但这对您来说都是隐藏的,这非常方便。

在Java中创建数组后,无法更改数组的长度。相反,必须分配一个新的更大的数组,并且必须复制元素。幸运的是,
列表
接口的一些实现已经在幕后为您实现了这一点,其中最常见的是


顾名思义,
ArrayList
包装了一个数组,提供了通过
add()
remove()
等方法添加/删除元素的方法(请参阅前面链接的文档)。如果内部数组已满,将创建一个比原来大1.5倍的新数组,并将旧元素复制到该数组中,但这对您来说都是隐藏的,这非常方便。

在Java中创建数组后,无法更改数组的长度。相反,必须分配一个新的更大的数组,并且必须复制元素。幸运的是,
列表
接口的一些实现已经在幕后为您实现了这一点,其中最常见的是


顾名思义,
ArrayList
包装了一个数组,提供了通过
add()
remove()
等方法添加/删除元素的方法(请参阅前面链接的文档)。如果内部数组已满,将创建一个比原来大1.5倍的新数组,并将旧元素复制到该数组中,但这对您来说都是隐藏的,这非常方便。

在Java中创建数组后,无法更改数组的长度。相反,必须分配一个新的更大的数组,并且必须复制元素。幸运的是,
列表
接口的一些实现已经在幕后为您实现了这一点,其中最常见的是


顾名思义,
ArrayList
包装了一个数组,提供了通过
add()
remove()
等方法添加/删除元素的方法(请参阅前面链接的文档)。如果内部数组已满,则会创建一个比原来大1.5倍的新数组,并将旧元素复制到该数组中,但这对您来说都是隐藏的,这非常方便。

我建议改用arrayList。它将根据需要调整大小。使用
ArrayList list=new ArrayList()创建它导入
java.util.ArrayList

您可以按如下方式设置值。要将位置i中的值设置为值val,请使用:

list.set(i, val);
您可以使用
list.add(someInt)添加到末尾并使用
int foo=list.get(position)
进行检索


只需将数组复制到更大的数组,即可“调整”数组大小。这仍然会生成一个新阵列,而不是就地操作。
int
Integer
的转换在这里通过自动装箱来处理。

我建议改用arrayList。它将根据需要调整大小。使用
ArrayList list=new ArrayList()创建它导入
java.util.ArrayList

您可以按如下方式设置值。要将位置i中的值设置为值val,请使用:

list.set(i, val);