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;ipublicstaticvoidmain(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]);
}
}