ここの人々の指示に従って2つのクラスを作成し、現在、非推奨の関数を1つのクラスから別のクラスに呼び出しています(私の前の質問を参照してください)。
関数呼び出しに @SuppressWarnings 行を追加しましたが、それでも機能しません。理由がわかりません。@SuppressWarnings アノテーションを使用して、非推奨の警告が表示されないようにする必要があります。どこに置くか誰か教えてくれませんか?
非推奨のクラス
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@interface number {
String arm();
}
public class armstrong {
@Deprecated
@number(arm = "Armstrong number")
public static void armStrong(int n) {
int temp, x, sum = 0;
temp = n;
while(temp!=0) {
x = temp % 10;
sum = sum + x * x * x;
temp = temp / 10;
}
if(sum == n) {
System.out.println("It is an armstrong number");
}
else {
System.out.println("It is not an armstrong number");
}
}
}
非推奨のものを使用するクラス
import java.util.Scanner;
import java.lang.annotation.*;
import java.lang.reflect.Method;
public class Ch10LU2Ex4 {
public static void main(String[] args) {
try {
System.out.println("Enter a number between 100 and 999:");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
@SuppressWarnings("deprecation")
armstrong obj = new armstrong();
obj.armStrong(x);
Method method = obj.getClass().getMethod("armStrong", Integer.TYPE);
Annotation[] annos = method.getAnnotations();
for(int i = 0; i<annos.length; i++) {
System.out.println(annos[i]);
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}