一道java问题 5

为什么有这个异常,怎么解决??... 为什么有这个异常,怎么解决?? 展开
 我来答
vortexchoo
2017-07-03 · TA获得超过543个赞
知道小有建树答主
回答量:501
采纳率:40%
帮助的人:88.9万
展开全部
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Test {

public static void main(String[] args) {
Set<Integer> set = null;
try {
set = getSet(10000);
} catch (Exception e) {
e.printStackTrace();
}
if(set == null || set.isEmpty()){
System.out.println("No result found!");
return;
}
List<Integer> res = new ArrayList<Integer>();
res.addAll(set);
Collections.sort(res, new Comparator<Integer>(){
@Override
public int compare(Integer o1, Integer o2) {
if(o1 > o2){
return 1;
}
return -1;
}
});

for(Integer i: res){
System.out.print(i + " ");
}
}


public static Set<Integer> getSet(Integer maxNum) throws Exception{
if(maxNum == null || maxNum <= 0){
throw new Exception("Please specify a valid number!");
}
Set<Integer> set = new HashSet<>();
for(int i = 1; i <= maxNum; i ++){
if(i == 1){
set.add(i);
}else{
int t = 2;
while(true){
int temp = i;
for(int j = 1; j < t; j++){
temp *= i;
}
if(temp <= maxNum){
set.add(temp);
}else{
break;
}
t++;
}
}
}
System.out.println("remaining number count is: " + (maxNum - set.size()));
return set;
}

}
匿名用户
2017-07-03
展开全部
D语法上就不合法,所有的类型转换都是低级别可以向高级别转换,但是高级别转换不到低级别;'a'+x;由于x是int类型,所以'a'默认会变成int类型的96,然后96+1=97;此时97是int类型,赋值给了一个cha类型,语法上不合法,如果要必须要这么做,必须强制类型转换.C语法也不合法,但是错误是无法转换成byte,cannotconvertfrominttobyte
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式