杭电Hd 2072 单词数

本文介绍了一个Java初学者在处理字符串时遇到的问题:如何正确去除字符串数组中的空字符串,并使用HashSet来统计不同的非空字符串数量。通过三种方法对比,展示了简单而有效的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个题不难,但是我却做了很长时间,原因在于“”这个字符上,我不知道怎么去除它比较它,纠结啊纠结。还是语言不熟悉啊,最后同学给找到的原因,和比较方法。非常感谢他,分享出来,希望各位java初学者,别在犯我这种问题。
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Hd2072 {
public static void main(String[] args){
 Scanner sc=new Scanner (System.in);
 
 while(sc.hasNext()){
  String a=sc.nextLine();
  if(a=="#") break;
  String c="abcdefghijklmnopqrstuvwxyz ";
  int d=0;
  for(int i=0;i<a.length();i++){
   if(c.indexOf(a.charAt(i))!=-1){
    d++;
   }
  }
 
  if(d==a.length()){
  String[] b=a.split(" ");
  Set<String> list =new HashSet<String>();
  for(int i=0;i<b.length;i++){
//   if(b[i].length()>0){ //方法一
//   list.add(b[i]);
//   }
//   if(!b[i].equals("")){ //方法二
//    list.add(b[i]);
//   }
   if(!b[i].isEmpty()){  //方法三
   list.add(b[i]); 
   }
  }
 
  System.out.println(list.size());
  }
  
 }
}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值