Arraylist - 使用switch语句添加字符串

时间:2016-03-15 13:04:47

标签: java arraylist switch-statement

我是编程新手,我的教授已经完成了一项要求我们的任务:

  

“在大小为5的arraylist上声明。使用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中的元素数量,并打印出每个元素 我有三个问题:

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

1 个答案:

答案 0 :(得分:1)

  

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

让我们逐行解码:

  

在arraylist上声明大小为5。

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

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

  

使用switch语句将字符串值添加到arraylist。

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

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

检索你的arraylist的内容。

这已经(大部分)写了:

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);
            }
        }
    }
}

这是提供的问题的解决方案;我会赌钱,这不是你的家庭作业问题的解决方案。

在另一个思想学校,如果作业的重点是基本使用和对ArrayList的理解,而我是你的教授,那么我将会有意图的任务给我的学生如下:

  

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

虽然我知道这对初始问题没有帮助,但我希望它可以帮助您理解教授试图向您提出的问题。