创建具有复数的矩阵
Creating a matrix with complex numbers
我正在尝试在 Java 中创建一个包含复数的矩阵。编译后,程序在每个 v[i][j] 中只记住最后一次读取的真实响应。虚部..我认为这与警告 "The static field Matrix.im(/Matrix.re) should be accessed in a static way" 有关,但我真的不知道这意味着什么..我对 Java 有点陌生,我做错了什么?谢谢! ^-^
import java.util.Scanner;
public class Matrix {
public static double im,re;
public Matrix(double re, double im)
{
this.re=re;
this.im=im;
}
public static void main(String[] args)
{
int n,m,i,j;
double x,y;
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
Matrix[][] v= new Matrix[n][m];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
x=sc.nextDouble();
y=sc.nextDouble();
v[i][j]=new Matrix(x,y);
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
System.out.print(v[i][j].re+"+i*"+v[i][j].im+" ");
System.out.println();
}
}
}
你的静电场是搬起石头砸自己的脚。改变这个:
public static double im,re;
对此:
public double im,re;
或更好:
private double im,re;
如果 class 是可变的,则使用适当的 getter 和可能的 setter。
请注意,静态字段是 class 而非实例的字段,因此每个 Matrix 实例都将为这些字段保留相同的值 除非你创建实例(非静态)字段。
我正在尝试在 Java 中创建一个包含复数的矩阵。编译后,程序在每个 v[i][j] 中只记住最后一次读取的真实响应。虚部..我认为这与警告 "The static field Matrix.im(/Matrix.re) should be accessed in a static way" 有关,但我真的不知道这意味着什么..我对 Java 有点陌生,我做错了什么?谢谢! ^-^
import java.util.Scanner;
public class Matrix {
public static double im,re;
public Matrix(double re, double im)
{
this.re=re;
this.im=im;
}
public static void main(String[] args)
{
int n,m,i,j;
double x,y;
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
Matrix[][] v= new Matrix[n][m];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
x=sc.nextDouble();
y=sc.nextDouble();
v[i][j]=new Matrix(x,y);
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
System.out.print(v[i][j].re+"+i*"+v[i][j].im+" ");
System.out.println();
}
}
}
你的静电场是搬起石头砸自己的脚。改变这个:
public static double im,re;
对此:
public double im,re;
或更好:
private double im,re;
如果 class 是可变的,则使用适当的 getter 和可能的 setter。
请注意,静态字段是 class 而非实例的字段,因此每个 Matrix 实例都将为这些字段保留相同的值 除非你创建实例(非静态)字段。