求大家帮忙看看到底哪里出错了 一直报错,心态都快崩了

import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
while(true){
int n=sc.nextInt();
int[]arr=new int[n];
int index=0;
for(int i=0;i<n;i++){
int num=sc.nextInt();
int flag=0;
for(int k=0;k<i;k++){
if(arr[k]==num){
flag=1;
}
}
if(flag==0){
arr[index]=num;
index++;
}
}
int[] last=new int[index];
for(int j=0;j<index;j++){
last[j]=arr[j];
}
Arrays.sort(last);
for(int t=0;t<index;t++){
System.out.println(last[t]);
}
}
}
}
全部评论
是答案不对还是程序抛异常呢
点赞
送花
回复 分享
发布于 2019-11-24 23:10
为啥要用死循环呢,可能会导致换行符之类的不一致吧,再一个,第二层循环是不是应该用k<=i,而且再严谨一点,数组默认初始化为0,如果输入的那个数字是0是不是会导致flag无辜被置为true。
点赞
送花
回复 分享
发布于 2019-11-24 23:10
兴业银行
校招火热招聘中
官网直投
 while(sc.hasNext()){ 不要while(true){
点赞
送花
回复 分享
发布于 2019-11-24 23:16

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务