Я попытался написать функцию. Эта функция задается функцией f из {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.
Если ваш код не выполняет то, что он должен, то используйте отладчик и исправьте свой код. – redFIVE
Вернитесь назад и повторите свой алгоритм с помощью карандаша и бумаги. То, что у вас здесь, очевидно, никогда не будет работать, поскольку ваш счет основан на количестве 0 в A, которое не содержит ни одного. – azurefrog
В чем смысл этого? Ни один из ваших массивов 'A' не имеет значения' 0', поэтому 'count' остается 0. –