Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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_Class_Variables_Coding Style - Fatal编程技术网

Java 用于声明一组类似变量的最小行数

Java 用于声明一组类似变量的最小行数,java,class,variables,coding-style,Java,Class,Variables,Coding Style,我正在Android Studio中制作一个棋盘,每个方块上都有一个按钮。64个变量。如何在课程开始时初始化所有这些内容而不占用64行 我试着把变量放在由{…}括起来的代码块中,但它说我不允许这样做 private Button a1; private Button a2; private Button a3; private Button a4; private Button a5; private Button a6; private Button a7; private Button a8

我正在Android Studio中制作一个棋盘,每个方块上都有一个按钮。64个变量。如何在课程开始时初始化所有这些内容而不占用64行

我试着把变量放在由{…}括起来的代码块中,但它说我不允许这样做

private Button a1;
private Button a2;
private Button a3;
private Button a4;
private Button a5;
private Button a6;
private Button a7;
private Button a8;
我想要它,这样我可以单击屏幕左侧的下拉箭头,使所有这些变量消失,直到我需要查看它们。

在这种特殊情况下,您可能需要使用or

对于
ArrayList
,您可以执行以下操作:

private ArrayList a=new ArrayList();
对于(int i=0;i<64;i++)
a、 添加(新按钮());
System.out.println(a.get(0));
以上内容为您提供了删除或添加按钮的灵活性。要按名称而不是索引跟踪按钮,可以使用

对于
HashMap
,您可以执行以下操作:

private HashMap a=new HashMap();
对于(int i=0;i<64;i++)
a、 添加(“按钮”+String.valueOf(i),new Button());
System.out.println(a.get(“Button0”);

私人按钮[][]按钮=新按钮[8][8]64个独立变量是一个坏主意,因为它完全无法捕捉到它是一个8 x 8板的想法;但是如果你坚持,那么没有理由一行不行:
私人按钮a1、a2、a3…
谢谢。是否有一种聪明的方法将数组中的按钮与布局的按钮链接起来?也就是说,类似于带有按钮[i][j]=findviewbyd(R.id.button%d%d,i,j)的嵌套for循环;(编辑:这在onCreate方法中)如果你看我的答案,只要你在将按钮添加到Array/ArrayList/HashMap之前将其添加到界面/布局中,那么你就可以将它们链接起来。为什么你需要为电路板的每个正方形都添加一个按钮?如果你在下国际象棋,那么更容易计算出一个棋子是否可以移动到一个特定的正方形不是更有意义吗?