Я новичок в этом сайте, так что, надеюсь, я могу помочь. Я не уверен относительно вашего текущего понимания Java, но этот фрагмент кода, даже с функционалом mysticMethod (), не будет работать из-за переменной 'a', уже определенной и присвоенной значению ноль. Оператор приращения также не должен использоваться в объявлении переменной: int a++;
( сейчас, чтобы получить ответ, если вы уже знаете это ).
Ответ Насколько я понимаю, хотя можно подсчитать количество вхождений переменной / значения в структуре данных (такой как массив или список), чтобы конкретно отслеживать, сколько раз переменная используется / появляется в классе, может быть функция, указанная c для вашей IDE. Чтобы сделать это вручную, я бы создал переменную с именем «aCount» и увеличивал ее в своем коде каждый раз, когда я использую переменную «a». Затем вы можете использовать mysticMethod () для возврата значения 'aCount'.
Например:
public class ClassName{
private static int aCount = 0;
public static void main(String[] args){
int a = 0; aCount++;
System.out.println(mysticMethod()); // returns aCount with the value of '1'
a = 10; aCount++;
System.out.println(mysticMethod()); // returns aCount with the value of '2'
}
public static int mysticMethod(){
return aCount;
}
}
Однако я знаю, что отслеживает, сколько раз метод вызывается определенно возможно . Вы можете добавить аргумент к вызову метода, чтобы передать переменную, которая будет отслеживать вас.
Например:
public static void mysticMethd(MyClass obj){
obj.methodCounter++; // add 1 to method calls (assuming methodCounter is public)
// whatever the method does
}
Или как переменная 'aCount' из В приведенном выше примере вы можете создать переменную внутри того же класса, которая будет увеличиваться при каждом вызове метода.
public class ClassName{
private static int aCount = 0;
private static int methodCounter = 0;
public static void main(String[] args){
int a = 0; aCount++;
System.out.println(mysticMethod()); // returns aCount with the value of '1'
a = 10; aCount++;
System.out.println(mysticMethod()); // returns aCount with the value of '2'
}
public static int mysticMethod(){
methodCounter++; // Add 1 to number of calls
if(methodCounter == 1){
System.out.println("This method has been called: " + methodCounter + " time");
}
else{
System.out.println("This method has been called: " + methodCounter + " times");
}
return aCount;
}
}
Есть несколько способов добиться этого. Надеюсь, я немного помог.