Java 请帮助我理解此函数';实施
我试着写一个函数。该函数被赋予一个从{1,2,…,n}到整数集的函数f,确定f是否为一对一 我写了这段代码,但有点不对劲Java 请帮助我理解此函数';实施,java,discrete-mathematics,Java,Discrete Mathematics,我试着写一个函数。该函数被赋予一个从{1,2,…,n}到整数集的函数f,确定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.leng
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);
}
}
公共类主{
publicstaticvoid是双射的(inta[],intb[]{
int i,j,计数;
对于(i=0;i您将所有的B[]值设置为0,所有的A[]值为1。此外,您的计数等于0,它将始终等于n,因此,除非您有一个长度为0的数组,否则它将始终转到else语句。您需要重新构造代码。如果您的代码没有执行它应该执行的操作,则应使用调试器修复代码,返回并用铅笔和纸重新执行算法。什么你在这里得到的值显然永远不会起作用,因为你的计数是基于A中0的数量,而A中0的数量不包含任何值。这有什么意义呢?你的A
数组都没有0
值,因此count
保持为0。