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

Java 在表格行中循环三个按钮的算法

Java 在表格行中循环三个按钮的算法,java,android,loops,android-button,Java,Android,Loops,Android Button,int numberofbutton=x 我试图循环,但失败了,因为numberofbutton必须能被3整除。我不会写算法 基于numberofbutton,我们必须以编程方式在一个表行中循环三个按钮。 我的意思是,如果numberofbutton是4 TableRow[0]->Button Button Button TableRow[1]->Button TableRow[0]->Button Button Button 如果是3 TableRow[0]->B

int numberofbutton=x

我试图循环,但失败了,因为
numberofbutton
必须能被3整除。我不会写算法

基于
numberofbutton
,我们必须以编程方式在一个表行中循环三个按钮。
我的意思是,如果numberofbutton是4

TableRow[0]->Button Button Button
TableRow[1]->Button 
TableRow[0]->Button Button Button
如果是3

TableRow[0]->Button Button Button
TableRow[1]->Button 
TableRow[0]->Button Button Button
更新: 根据邹祖的回答,代码如下,但未解决,因为tr[]未定义:

int bn = 9;
        if (bn % 3 == 0) {
            TableRow[] tr = new TableRow[bn / 3];
            for (int i = 1; i <=(bn / 3); i++) {
                tr[i] = new TableRow(this);
            }
        } else {
            TableRow[] tr = new TableRow[(bn / 3) + 1];
            for (int i = 1; i <=(bn / 3) + 1; i++) {
                tr[i] = new TableRow(this);
            }
        }
        Button[] b=new Button[bn];
        for(int i=1;i<=bn;i++){
            b[i]=new Button(this);
        }
        int index = -1;
        for (int i = 0; i < bn; i++) {
            if(i%3==0){
                index+=1;
                tr[index].addView(b[i]);
            }else{
                tr[index].addView(b[i]);
            }
        }
int bn=9;
如果(bn%3==0){
TableRow[]tr=新的TableRow[bn/3];

对于(int i=1;i,您可以使用模来执行此类操作:

int index = -1;

for(int i = 0; i < numberButtons; i++){
        if(i%3 == 0) {
          index += 1;
          tableRow[index] <- add Button here //here it's a new row we update the index
        }
        else
          tableRow[index] <- add Button here //we can add button to the current index
                                             //because there are less than 3 buttons
}
int索引=-1;
for(int i=0;itableRow[index]添加按钮时,哪个数组值?我是指按钮[index]或按钮[i]?是否每次都添加新按钮或现有按钮?请查看我的问题更新。无法解决有关声明tableRow[]的问题。您必须声明
tableRow[]tr
退出你的if语句。@RedHat\u父亲看到我的更新了吗!!wtf???-1关于这个问题。还没有人能提供完整的例子。人-1必须解决这个问题。否则他/她可能是个傻瓜,做-1。
int bn = 9;
        if (bn % 3 == 0) {
            TableRow[] tr = new TableRow[bn / 3];
            for (int i = 1; i <=(bn / 3); i++) {
                tr[i] = new TableRow(this);
            }
        } else {
            TableRow[] tr = new TableRow[(bn / 3) + 1];
            for (int i = 1; i <=(bn / 3) + 1; i++) {
                tr[i] = new TableRow(this);
            }
        }
int bn = 9;
TableRow[] tr = null;
        if (bn % 3 == 0) {
            tr = new TableRow[bn / 3];
            for (int i = 1; i <=(bn / 3); i++) {
                tr[i] = new TableRow(this);
            }
        } else {
            tr = new TableRow[(bn / 3) + 1];
            for (int i = 1; i <=(bn / 3) + 1; i++) {
                tr[i] = new TableRow(this);
            }
        }