我在HackerRank上遇到了一个问题,其中方法是这样编写的。
public static String anagram(String s , String s1){
//write ur logic
throw new UnsupportedDataTypeException("anagram(String s , String s1)");
}
我无法在此方法签名中编辑任何内容。现在,我在下面写下了我的逻辑:
public static String anagram(String s , String s1){
String str="";
char []a=s.trim().toLowerCase().toCharArray();
char []b=s1.trim().toLowerCase().toCharArray();
Arrays.sort(a);
Arrays.sort(b);
boolean isAnag=false;
isAnag=Arrays.equals(a, b);
if(isAnag){
str= "yes";
}
else{
str= "no";
}
return str;
throw new UnsupportedDataTypeException("anagram(String s , String s1)");
}
现在不管我做什么。此UnsupportedDataTypeException给我编译错误,即使我在代码中添加了try catch块,但异常仍然存在。我不能在方法签名中使用Throws关键字,因为它不可编辑。
谢谢。
答案 0 :(得分:1)
看起来throw new UnsupportedDataTypeException("anagram(String s , String s1)");
只是一个实现存根。
您只能删除它,因为此语句不可访问。您不能在return
语句后放置任何代码,因为这些代码不可访问,因此编译将失败。
详细了解已检查和未检查的异常here。如果需要从方法中引发异常,请考虑引发RuntimeException
或创建自己的运行时异常并引发它。