【问题标题】:Arraylist - Using switch statement to add stringArraylist - 使用 switch 语句添加字符串
【发布时间】:2016-03-15 13:04:46
【问题描述】:

我是编程新手,我的教授布置了一项作业,要求我们:

"在arraylist上声明大小为5。使用switch语句将字符串值添加到您的arraylist中。检索您的arraylist的内容。检查每个元素的大小。如果元素长度小于8,请重新运行程序,否则计算每个元素的辅音。”

我做了一些研究来了解ArrayList 的一些因素; 首先,我这样做了:

import java.util.ArrayList;

public class izeOfArrayList {

  public static void main(String[] args) {
    ArrayList arrayList = new ArrayList();

    arrayList.add("1");
    arrayList.add("2");
    arrayList.add("3");

    int totalElements = arrayList.size();

    System.out.println("ArrayList contains...");
    for(int index=0; index < totalElements; index++)
      System.out.println(arrayList.get(index));

  }
}

这段代码只是获取当前存储在我的ArrayList 中的元素数量,并打印出每个元素。
我有三个问题:

  • 如何使用switch 语句添加String 值?
  • 如何检索我的ArrayList 的内容?
  • 如何检查ArrayList 中每个元素的大小?

【问题讨论】:

  • 您应该声明 ArrayList&lt;String&gt; arrayList = new ArrayList&lt;&gt;(); 以获取您可以使用的元素的 size(我假设您的意思是长度)arrayList.get(index).length()
  • 顺便说一句,显然你的整个班级都被这个问题难住了stackoverflow.com/questions/36001856/arraylist-switch-statement
  • "Use switch statement to add string values to your arraylist."
  • 再说一次,这完全没有意义,请继续阅读switch 并亲自看看......最大的问题是什么你会切换我>...
  • @Villacampa 但这不是你的教授的问题,类似于“请做这个问题”,这是一个“stackoverflow 的整个力量都不知道问题在问什么,你能改写它?输入问题

标签: java arraylist switch-statement


【解决方案1】:

"在arraylist上声明大小为5。使用switch语句将字符串值添加到您的arraylist中。检索您的arraylist的内容。检查每个元素的大小。如果元素长度小于8,请重新运行程序,否则计算每个元素的辅音。”

让我们逐行解码:

在arraylist上声明,大小为5。

ArrayList<String> myList = new ArrayList<>(5);

我们的 ArrayList 需要定义为 Strings 的列表,因此我们将它们放在尖括号中。构造函数采用起始大小,指定为 5。

使用 switch 语句将字符串值添加到您的数组列表中。

完全无法理解。 switch 语句用于控制流;我们可以根据某些条件决定添加字符串值,但我们无法使用switch 语句生成输入,并且没有指定条件。以下代码(似乎)对该指令有效:

String values = "values";
switch (values) {
    case "values":
    default:
        myList.add(values);
}

检索数组列表的内容。

这个你已经(大部分)写了:

int totalElements = myList.size();

for(int index = 0; index < totalElements; index++)
    String tempElem = myList.get(index); //get access to the individual elem

    //here we're going to do something with the current string (probably)

}

检查每个元素的大小。

我假设根据“每个元素的大小”,您的教授正在寻找每个 String 的长度。

int tempElemLength = tempElem.length();

String 对象有一个长度方法,它返回一个int

如果元素长度小于8,则重新运行程序,否则计算每个元素的辅音。

这虽然乍一看似乎是合理的,但又是难以理解的。以下是对这一行的可能解释:

if (tempElemLength < 8) {
    main(null);
} else {
    int tempElemNumConsonants = countConsonants(tempElem);

    //consonants are counted and now what?
}

这是对您当前定义的作业的完整回复:

import java.util.ArrayList;

public class SizeOfArrayList {

    public static void main(String[] args) {
        ArrayList<String> myList = new ArrayList<>(5);

        String values = "values";
        switch (values) {
            case "values":
            default:
                myList.add(values);
        }

        int totalElements = myList.size();

        for (int index = 0; index < totalElements; index++)
            String tempElem = myList.get(index);

            int tempElemLength = tempElem.length();

            if (tempElemLength < 8) {
                main(null);
            } else {
                int tempElemNumConsonants = countConsonants(tempElem);

                //consonants are counted and now what?
                //guess print them out?
                System.out.println('Item ' + index + ': ' + tempElem + ' -> number of consonants: ' + tempElemNumConsonants);
            }
        }
    }
}

这是解决您的问题的方法已提供;我敢打赌,这不能解决你的作业问题。


在另一个学派中,如果作业的重点是对ArrayLists 的基本使用和理解,而我是你的教授,那么我会打算完成的作业 em> 给我的学生如下:

声明大小为5的ArrayList。提示用户输入值,直到他们输入'quit';使用 switch 语句将所有 String 值添加到 ArrayList 中,而不仅仅是 [0-9] 中的数字。循环遍历 ArrayList 中的每个元素;如果任何String 元素的长度小于8,则提醒用户然后重新启动程序。如果所有长度都有效,则将每个元素的辅音相加。打印出每个单词和辅音计数,以及单词数和辅音总数的最终统计。

虽然我知道这对你最初的问题没有帮助,但我希望它能够帮助你理解你的教授想问你什么。

【讨论】:

  • 这对我来说完全是一个很大的帮助,你让我大开眼界!谢谢!我根据您的所作所为,部分地得到了它。我真的不知道我的教授想要什么,但这肯定对我有帮助。现在,我有不同的结论要研究。谢谢!
  • 不客气,希望这能让您走上正轨!如果有机会,请务必与您的教授交谈以澄清其中一些事情。
  • 另外,如果您觉得我的回答回答了您的问题,请务必接受! =D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-13
  • 1970-01-01
  • 2018-10-17
  • 2013-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多