Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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:填充2D数组以查找电路的功率_Java_Arrays_2d_Physics_Circuit - Fatal编程技术网

Java:填充2D数组以查找电路的功率

Java:填充2D数组以查找电路的功率,java,arrays,2d,physics,circuit,Java,Arrays,2d,Physics,Circuit,嗨,我想写一个分配代码,其中电阻恒定,电流增加,然后计算功率。我想把所有的数据放到一个数组中,使其简洁明了。但我正在努力填充它,我不知道要使用什么语法,但我想我已经初始化了数组。老实说,什么都可以,谢谢 package assignment_10_18_2018; public class lab_10_18_2018_a { public lab_10_18_2018_a() { // TODO Auto-generated constructor stub

嗨,我想写一个分配代码,其中电阻恒定,电流增加,然后计算功率。我想把所有的数据放到一个数组中,使其简洁明了。但我正在努力填充它,我不知道要使用什么语法,但我想我已经初始化了数组。老实说,什么都可以,谢谢

package assignment_10_18_2018;

public class lab_10_18_2018_a {

    public lab_10_18_2018_a() {
        // TODO Auto-generated constructor stub
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub 
        final int LENGTH_FOR_CURRENT = 11 ; 
        int resistance = 10 ; 
        int[][] circuitArray = new int [10][3]; 

        for(int i = 0; i < 10 ; i++) { 
            for(int r = 0; r < ...; r++) {
                circuitArray[i][r] = ...;  
            }
        }
    }
}
2018年10月18日的包分配;
公共课实验室\u 10\u 18\u 2018\u a{
公共实验室(10)18(2018){
//TODO自动生成的构造函数存根
}
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
电流=11时的最终整数长度;
内阻=10;
int[][]电路阵列=新int[10][3];
对于(int i=0;i<10;i++){
对于(int r=0;r<…;r++){
电路阵列[i][r]=。。。;
}
}
}
}

您必须使用简单的if循环将不同的内容放入不同的列中,如下所示:

//Pseudo code
public class lab_10_18_2018_a {

public lab_10_18_2018_a() {
    // TODO Auto-generated constructor stub
}

public static void main(String[] args) {
    // TODO Auto-generated method stub 
    final int LENGTH_FOR_CURRENT = 11 ; 
    int resistance = 10 ; 
    int[][] circuitArray = new int [10][3]; 

    for(int i = 0; i < 10 ; i++) { 
        for(int r = 0; r < 3; r++) {
            if(r==0){ //first column
                circuitArray[i][r] = i+1; //current will go from 1 to 10 in this case in the first column. Modify appropriately to suit your needs
            }  
            else if(r==1){ //second column
                circuitArray[i][r] = resistance;
            } 
            else if(r==2){//third column
                circuitArray[i][r] = circuitArray[i][r-2]*circuitArray[i][r-2]*circuitArray[i][r-1]; //Electric Power formula
            } 
        }
    }
}
//伪代码
公共课实验室\u 10\u 18\u 2018\u a{
公共实验室(10)18(2018){
//TODO自动生成的构造函数存根
}
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
电流=11时的最终整数长度;
内阻=10;
int[][]电路阵列=新int[10][3];
对于(int i=0;i<10;i++){
对于(int r=0;r<3;r++){
如果(r==0){//第一列
circuitArray[i][r]=i+1;//在第一列中,电流将从1变为10。请根据需要进行适当修改
}  
如果(r==1){//第二列
电路阵列[i][r]=电阻;
} 
如果(r==2){//第三列
电路阵列[i][r]=电路阵列[i][r-2]*电路阵列[i][r-2]*电路阵列[i][r-1];//电功率公式
} 
}
}
}
}


另外,如果您遵循Java命名约定会更好。您可以阅读更多关于的内容,这里我们只需要1行,因为
电阻是恒定的(比如10),但根据问题,我们需要将
电流
从0更改为10。所以我们需要一个1行11列的数组

int power[][] = new int[1][11]; 

            //current increases from 0-10 

            int resistance = 10,i,j;

            for(i=0;i<power.length;i++)
            {
                for(j=0;j<power[i].length;j++)
                {
                    power[i][j] = j*j*resistance;

                }

            }
int power[][]=new int[1][11];
//电流从0增加到10
内阻=10,i,j;
对于(i=0;i
publicstaticvoidmain(String[]args){
内阻=10;
//您需要11行3列
int[][]电路阵列=新int[11][3];
//对于每一行,我将第一个单元格设置为i
//常数的第二个单元格
//带调用值的第三个单元格(第一个单元格*第一个单元格*第二个单元格)=(I*I*R)
对于(int i=0;i<11;i++){
电路阵列[i][0]=i;
电路阵列[i][1]=电阻;
电路阵列[i][2]=电路阵列[i][0]*电路阵列[i][0]*电路阵列[i][1];
}
//打印页眉
系统输出打印F(“%-10s%-10s%-10s%n”、“I(安培)”、“R(欧姆)”、“P(瓦特)”);
//打印值
for(int[]行:circuitArray){
System.out.printf(“%-10d%-10d%-10d%n”,第[0]行、第[1]行、第[2]行);
}
}

您想使用什么(哪些值)为了填充阵列?@Lealcelderio我希望电阻是一个常数,比如说10欧姆,电流从0增加到10 a。我知道我应该使用一个for循环来填充,但是idkhow@lealceldeiro我也不知道如何将计算出的功率放在第三列中。你有没有一个你正在努力转换的数学解代码,或者两者都没有?所以只能对第二个有帮助,而且只有在你除了几行自动生成的样板之外,还表现出了实际的努力。如果你让你的电阻值保持不变,那么这个问题可以用1d数组解决
public static void main(String[] args) {
    int resistance = 10 ; 
    //you need 11 rows and 3 columns
    int[][] circuitArray = new int [11][3]; 
    //for each row i set first cell to i 
    //second cell to your constant
    //third cell with callculated value (first_cell * firs_cell * second_cell)=(I*I*R)
    for(int i = 0; i < 11 ; i++) {            
        circuitArray[i][0] = i; 
        circuitArray[i][1] = resistance;
        circuitArray[i][2] = circuitArray[i][0] * circuitArray[i][0] * circuitArray[i][1];
    }
    //print header
    System.out.printf("%-10s %-10s %-10s%n","I(amps)","R(ohms)","P(watts)");
    //print values
    for(int[] row : circuitArray){
       System.out.printf("%-10d %-10d %-10d%n",row[0],row[1],row[2]); 
    }
}