Mình kiếm đc bài code hay nhưng bị lỗi NullPointerException
mình xem nhìu lần mà mà không biết khởi tạo sum
với sub
như thế nào các bác chì dùm.
public class Vector {
private int[] v ;
private int dim;
public void getVector() {
Scanner get = new Scanner(System.in);
System.out.print("Nhap so chieu cua vector: ");
dim = get.nextInt();
v = new int[dim];
for (int i = 0; i < dim; i++) {
System.out.print("Nhap phan tu thu " + (i + 1));
System.out.print(": ");
v[i] = get.nextInt();
}
}
public void showVector() {
int k = this.dim;
for(int i = 0; i < k - 1; i++) {
System.out.print(+v[i]);
System.out.print(",");
}
System.out.print(" "+v[k - 1]);
System.out.println(")");
System.out.print("k : "+k);
}
public Vector addVector(Vector a) {
int k = this.dim;
Vector sum = new Vector();
for (int i = 0; i < k; i++) {
sum .v[i ] = this.v[i] + a.v[i];
}
return sum;
}
public Vector minusVector(Vector a) {
int k = this.dim;
Vector sub = new Vector();
for (int i = 0; i < k; i++) {
sub.v[i] += this.v[i] - a.v[i];
}
return sub;
}
public int multiVector(Vector a) {
int k = this.dim;
int multi = 0;
for (int i = 0; i < k; i++) {
multi += this.v[i] * a.v[i];
}
return multi;
}
public boolean check(Vector a) {
return this.dim == a.dim;
}
public int kiemtra(Vector a) {
if (this.dim == a.dim) {
return 1;
} else {
return 2;
}
}
public static void main(String[] args) {
Vector v1 = new Vector();
v1.getVector();
System.out.print("Vector ssds vua nhap la: ( ");
v1.showVector();
Vector v2 = new Vector();
v2.getVector();
System.out.print("Vector aaa vua nhap la: (");
v2.showVector();
switch (v1.kiemtra(v2)) {
case 1:
Vector v3 = v1.addVector(v2);
System.out.print("Tong hai vector la: ");
v3.showVector();
Vector v4 = v1.minusVector(v2);
System.out.print("Hieu hai vector la: ");
v4.showVector();
int tich = v1.multiVector(v2);
System.out.println("Tich vo huong hai vector la: " + tich);
break;
case 2:
System.out.println("Khong the thuc hien cac phep toan tren 2 vector khong cung chieu");
break;
}
}
}