向下推送数组的包含

时间:2015-11-25 12:42:06

标签: java

如果我有一个大小为4的数组:int[] array = new int[4]; 我有

TextField text1 = new TextField();
TextField text2 = new TextField();
TextField text3 = new TextField();
TextField text4 = new TextField();

text1显示array [0]的包含 text2显示array [1]的包含 text3显示array [2]的包含 text4显示array [3]

的包含

如果我想将array [0]的内容推送到array [1]并在我的文本字段中显示,我该怎么做? 感谢

3 个答案:

答案 0 :(得分:1)

简单:

index[2] = index[1];
index[1] = index[0];

你可以使用for循环,如果数组中有很多索引,它就是计数器。

之后,textField.setText(index[wantedIndex]);

答案 1 :(得分:1)

仅限一个单元格:

array[1] = array[0];
text2.setText(String.valueOf(array[1]));

如果你想将数组中的所有元素都加一:

TextField[] fields = {text1, text2, text3, text4};
for (int i = 3; i > 0; i--) {
    array[i] = array[i-1];
    fields[i].setText(String.valueOf(array[i]));
}
// previous content of array[3] is lost
// do sth with array[0] which remains unchanged

在数组中向后循环非常重要。否则,您将在复制之前覆盖单元格,并使用先前的array [0]内容填充所有单元格。

顺便说一下,如上所示,您似乎想要向上推 - 而不是向下推。

答案 2 :(得分:0)

你需要的基本上是两件事

  1. 交换变量
  2. 更改TextField的值
  3. 要交换变量,请执行以下操作:

    array[2] = array[1]; //this overwrites value of array[2] with value of array[1]
    

    要设置TextField的值,您需要调用setText(String)方法并将其传递给String。由于您要设置为TextField的值是int,因此您需要先将其更改为String,然后将其设置如下:

    //assuming that you have updated the value of array[2] to array[1]
    text1.setText(String.valueOf(array[2])); 
    

    上面将array[2]中的整数转换为String,然后设置TextField

    请参阅TextField文档here。 setText()的方法签名如下:

      

    public void setText(String t)

         

    设置此

    显示的文本      

    文本组件是指定的文本。