簡體   English   中英

處理/ Java:來自一個數組列表的兩個輸出

[英]processing/Java: two outputs from one arraylist

我想要兩個輸出,就好像我鍵入“ ora”一樣,我希望它以兩個字符串輸出“ orange”和“ orange juice”,但是您會怎么做?

class searcher {
      ArrayList<String> toBecompared= new ArrayList<String>(Arrays.asList("orange", "orange juice", "apples", "cola", "soda"));
      void search() {
        String[] words = {text}; 
        // text is a user input
        // for loop test for if the "list" contains "text" (user input)
        for (int i = 0; i < toBecompared.size(); i++) {
          for (int w = 0; w < text.length(); w++) {
            try { 
              if (toBecompared.get(i).contains(words[w])) {
                println(words[w] +"  " + toBecompared.get(i));
              }
            }
            catch(Exception a) {
            }
          }
        }
      }
    }

我找到了一種方法,但是我不確定這是否是最好的方法:P

class searcher {
  ArrayList<String> toBecompared= new ArrayList<String>(Arrays.asList("orange", "orange_juice", "apples", "cola", "soda"));
  String comparing ="orange orange_juice apples cola soda";
  String[] splited = comparing.split("\\s+");
  String compared1;
  String compared2;

  boolean True = false;

  void search() {
    String[] words = {text}; // text is a user input
    for (int i = 0; i < toBecompared.size(); i++) {
      for (int w = 0; w < text.length(); w++) {
        try { 
          if (toBecompared.get(i).contains(words[w])) {
            //println(words[w] +"  " + toBecompared.get(i));

            if (True == true) {
              compared2 = splited[i];
              True = false;
            } else {
              compared1 = splited[i];
              True = true;
            }
          }
          println(compared1);
          println(" ");
          println(compared2);
        }

        catch(Exception a) {
        }
      }
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM