首页 > 解决方案 > CodeHS Java 硝基

问题描述

指示

贵公司正在进行一些数据清理,并注意到所有用户的电子邮件列表已经过时。一方面,有些用户的电子邮件地址重复,有些电子邮件帐户已不复存在。

你的工作是创建一系列可以从现有电子邮件列表中清除一些旧数据的方法。

在 DataPurge 类中创建可以执行以下操作的静态方法:

removeDuplicates 此方法采用电子邮件列表,并删除重复的电子邮件值。它还会打印到控制台,哪些重复的电子邮件已被删除。

removeAOL 此方法从来自 aol.com 的列表中删除所有电子邮件地址。它还会通知用户哪些电子邮件地址正在被删除。

containsOnlyEmails 如果电子邮件列表中的所有数据实际上都是电子邮件地址,则此方法返回 true。如果它包含字符 @ 和 ,我们将定义为电子邮件地址。在 DataPurgeTester 文件中测试您的方法。您不必在那里进行任何更改,但是这些方法应该相应地起作用!

他们的代码

import java.util.ArrayList;

public class DataPurgeTester
{
    public static void main(String[] args)
    {
        ArrayList<String> emails = new ArrayList<String>();
        addEmails(emails);
        System.out.println("List is all emails: " +DataPurge.containsOnlyEmails(emails));
        DataPurge.removeDuplicates(emails);
        DataPurge.removeAOL(emails);
        System.out.println(emails);
    }



    public static void addEmails(ArrayList<String> emails)
    {
        emails.add("tbmaddux@icloud.com");
        emails.add("rfisher@outlook.com");
        emails.add("anicolao@verizon.net");
        emails.add("openldap@me.com");
        emails.add("improv@gmail.com");
        emails.add("alias@sbcglobal.net");
        emails.add("portele@me.com");
        emails.add("doormat@icloud.com");
        emails.add("mailarc@aol.com");
        emails.add("portele@me.com");
        emails.add("rmcfarla@optonline.net");
        emails.add("chrisk@verizon.net");
        emails.add("gordonjcp@aol.com");
        emails.add("improv@gmail.com");
    }
}

我的代码

import java.util.ArrayList;

public class DataPurge
{
    public static void removeDuplicates(ArrayList<String> e)
    {
        String removed = "";
        for (int i = 0; i < e.size(); i++)
        {
          for (int x = 0; x < e.size(); x++)
          {
              if (e.get(i).equals(e.get(x)))
              {
                  removed += e.get(x) + "\n";
                  e.remove(x);
              }
          }
        }
        System.out.println(removed);
    }
    public static void removeAOL(ArrayList<String> e)
    {
       String removed = "";
        for (int i = 0; i < e.size(); i++)
        {
            String e2 = e.get(i);

           if(e2.indexOf("aol.com") != -1)
           {
               removed += e.get(i) + "\n";
               e.remove(i);
           }
        }
    }
    public static Boolean containsOnlyEmails(ArrayList<String> e)
    {
        int x = 0;
        for(int i = 0; i < e.size(); i++)
        {
          if (e.get(i).indexOf("@") != -1 && e.get(i).indexOf(".") != -1) 
          {
              x++;
          }
        }
        return (x == e.size());
    }
}

问题

https://i.stack.imgur.com/bmq99.png https://i.stack.imgur.com/mtQUt.png

标签: java

解决方案


推荐阅读