Hud 2072 java代码求解

java新人,不要见笑

 import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.nextLine();
            if(str.equals("#")){
                break;
            }
            String[] arr = str.split(" ");
            int sum = 0,n=0;
            for(int i=0;i<arr.length;i++){
                if(arr[i].length()!=0){
                    sum ++;
                }
            }
            for(int i=0;i<arr.length;i++){
                for(int j=i+1;j<arr.length;j++){
                    if(arr[i].length()!=0&&arr[j].length()!=0){
                        if(arr[i].equals(arr[j])){
                            sum--;
                        }
                    }
                }
            }
            System.out.println(sum);
        }
    }
}

提交wa,好像是回车问题,求解,谢谢!

这个程序的意思是,判断用户输入字符串的个数。
用户输入字符串之间以空格分隔,重复输入的字符串只统计一次,用户输入单个井号后按回车退出程序。
你这个过滤算法有问题:如果多次重复输入某个一样的字符串,统计总数会少于实际总数。
但是,借问一下。楼主你想问什么呢?

谢谢你的回答,我昨天看错了,少加了个break,正如你说的,多次重复会少于实际的