【问题标题】:How to loop through an array of Strings and print the strings that has certain characters?如何遍历字符串数组并打印具有某些字符的字符串?
【发布时间】:2017-11-09 11:53:36
【问题描述】:
public static String[] data = { "Achelous", "Ares", "Clytemnestra", "Eurystheus", "Icarus", "Naiads", "Phlegethon", "Sterope",
        "Acheron", "Argo", "Cocytus", "Euterpe", "Io", "Napaeae", "Phosphor", "Stheno", "Achilles", "Argus",
        "Creon", "Favonius", "Iobates", "Narcissus", "Phrixos", "Styx", "Actaeon", "Ariadne", "Creьsa", "Furies",
        "Iphigenia", "Nemesis", "Pirithous", "Symplegades", "Admetus", "Arion", "Creusa", "Gaea", "Iris",
        "Neoptolemus", "Pleiades", "Syrinx", "Adonis", "Artemis", "Cronus", "Galatea", "Ismene", "Nereids", "Pluto",
        "Tantalus", "Aeacus", "Asclepius", "Cybele", "Ganymede", "Iulus", "Nestor", "Plutus", "Tartarus", "Aegeus",
        "Astarte", "Cyclopes", "Glaucus", "Ixion", "Nike", "Pollux", "Taygeta", "Aegisthus", "Astraea", "Daedalus",
        "Graces", "Jason", "Niobe", "Polymnia", "Telemachus", "Aegyptus", "Atalanta", "Danae", "Graeae", "Jocasta",
        "Nona", "Polynices", "Terpsichore", "Aeneas", "Athena", "Daphne", "Hades", "Lachesis", "Notus",
         };


public static void main(String[] args) {

    System.out.println("The length of the array is " + data.length);
     for(int i=0; i<data.length; i++){
       if(data[i].length()<=4){
          System.out.println(data);
         }
    }
    //for(String name : data){
    //  System.out.println(name);
    //}

}

如何真正循环遍历字符串的循环,识别哪些单词有例如2个字符并打印出来?

【问题讨论】:

  • 1 个循环和 1 个条件语句。在您的情况下,将
  • @Stultuske 是的,我知道,但我不知道怎么写,所以我可以通过字符数来计算它们
  • @VenetsiaKrusteva 没有必要计算字符,除非你想例如忽略空格。在 Java 中,任何String 都知道自己的长度。
  • @VenetsiaKrusteva 你为什么要这样做?只需像在示例中那样使用 .length 方法
  • @Stultuske 真的,谢谢!

标签: java arrays string loops


【解决方案1】:

qualifyingLength 下面是有问题的长度。 dataString 的输入数组。

public static void printWhatQualifies(String[] data, int qualifyingLength) {
    for(String string: data) {
        if(qualifyingLength == string.length()) {
            System.out.println(string);
        }
    }
}

【讨论】:

    【解决方案2】:

    另一种方法是使用流...

    Arrays.stream(data).filter(s -> s.length() == 2).forEach(System.out::println);
    

    【讨论】:

    • OP 似乎并不熟悉循环的概念。内部迭代在这个时候是一个牵强的概念。
    • @C.Weber 不知道这个,但我会试试看
    • 是的,我想对于新手程序员来说这最好跳过(现在)。你不想迷惑她,让她退出,是吗? :)
    • @Vlasec 不会退出 :D 我会继续研究
    猜你喜欢
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2014-06-16
    • 2015-09-09
    相关资源
    最近更新 更多