请帮助我理解这个函数的实现
please help me understanding this function's implementation
我试着写了一个函数。从 {1, 2, . . . ,n}到整数集合,判断f是否一一对应
我写了这段代码,但出了点问题。
public class Main {
public static void isBijective(int A[],int B[]){
int i,j,count;
for(i = 0;i<B.length;i++){
B[i]=0;
}
count = 0;
for (j=0;j<A.length;j++){
if (A[j]==0){
A[j] = 1;
count = count+1;
}
}
if (count==B.length){
System.out.println("is bijective");
}else{
System.out.println("not bijective");
}
}
public static void main(String[] args) {
int A[] = {1,2,3,4,5};
int B[] = {1,2,3,4,5};
isBijective(A,B);
}
}
我的代码每次都进入else语句。
您将所有 B[] 值设置为 0,将所有 A[] 值设置为 1。此外,您的计数等于 0,它将始终等于 n,因此除非您有一个长度为 0 的数组总是会以它转到 else 语句结束。您需要重组代码。
我试着写了一个函数。从 {1, 2, . . . ,n}到整数集合,判断f是否一一对应
我写了这段代码,但出了点问题。
public class Main {
public static void isBijective(int A[],int B[]){
int i,j,count;
for(i = 0;i<B.length;i++){
B[i]=0;
}
count = 0;
for (j=0;j<A.length;j++){
if (A[j]==0){
A[j] = 1;
count = count+1;
}
}
if (count==B.length){
System.out.println("is bijective");
}else{
System.out.println("not bijective");
}
}
public static void main(String[] args) {
int A[] = {1,2,3,4,5};
int B[] = {1,2,3,4,5};
isBijective(A,B);
}
}
我的代码每次都进入else语句。
您将所有 B[] 值设置为 0,将所有 A[] 值设置为 1。此外,您的计数等于 0,它将始终等于 n,因此除非您有一个长度为 0 的数组总是会以它转到 else 语句结束。您需要重组代码。