Java アノテーションを読み始めたところです。checkprime メソッドの上に記述された 3 つの注釈をすべて印刷する必要がありますが、最初の注釈のみを印刷する必要があります。
import java.io.*;
import java.lang.annotation.Annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;
@Retention(RetentionPolicy.RUNTIME)
@interface MyMarker
{
}
@interface MyMarker1
{
String author();
}
@interface MyMarker2
{
String author();
String module();
double version();
}
public class Ch10Lu1Ex4
{
@MyMarker
@MyMarker1(author = "Ravi")
@MyMarker2(author = "Ravi", module = "checkPrime", version = 1.1)
public static void checkprime(int num)
{
int i;
for (i=2; i < num ;i++ )
{
int n = num%i;
if (n==0)
{
System.out.println("It is not a prime number");
break;
}
}
if(i == num)
{
System.out.println("It is a prime number");
}
}
public static void main(String[] args)
{
try
{
Ch10Lu1Ex4 obj = new Ch10Lu1Ex4();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a number:");
int x = Integer.parseInt(br.readLine());
obj.checkprime(x);
Method method = obj.getClass().getMethod("checkprime", Integer.TYPE);
Annotation[] annos = method.getAnnotations();
for(int i=0;i<annos.length;i++)
{
System.out.println(annos[i]);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}