gpt4 book ai didi

Java 字符串 循环 数组 Null

转载 作者:行者123 更新时间:2023-12-01 06:56:54 25 4
gpt4 key购买 nike

因此,我收到了一组电子邮件,我应该读取它们,将它们存储在数组中,删除重复项,然后打印“剩余内容”。我几乎能够做到这一点,但是在删除重复项后,当我打印剩余的内容时,它会打印一个额外的 null

这是我的代码。有人可以指出我修复它的方向吗?

public class Duplicate {
public static void main(String [] args){
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter file name: ");
String fileName = keyboard.nextLine();
if(fileName.equals("")){
System.out.println("Error: User did not specify a file name.");
}
else{Scanner inputStream = null;

try{inputStream = new Scanner(new File(fileName));
}
catch(FileNotFoundException e){
System.out.println("Error: "+ fileName + " does not exist.");
System.exit(0);
}


String [] address = new String[100];

for(int i=0;inputStream.hasNextLine();i++){
String email = inputStream.nextLine();
address[i]=email.toLowerCase();
//System.out.println(address[i]);
}


Set<String> mail = new HashSet<String>(Arrays.asList(address));

for(String email:mail){
System.out.println(email);
}

最佳答案

我假设您正在读取的地址少于 100 个。数组地址中的其余元素为空。这就是空值的原因。

将固定大小数组替换为 ArrayList<String> :

List<String> address = new ArrayList<String>();
//...
address.add(email.toLowerCase());
// ...

您还必须更换集合的构造:

Set<String> mail = new HashSet<String>(address);

关于Java 字符串 循环 数组 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10057873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com