【问题标题】:java - locating substrings and accounting for themjava - 定位子串并计算它们
【发布时间】:2014-05-19 08:27:07
【问题描述】:

我有一个“拼贴”类,在这个类中,变量是一个数组

private ArrayList<Fragment>();

在这个作业中,我必须找到一个片段,其中它的名称包含“key” 在以前的类似方法中,我必须找到包含子字符串键的片段数,我使用了这段代码,它似乎有效,但我认为它只会重复找到第一个键

public int countKeys(String key) 
{
  int keys = 0;
  key = "keys";
  for (Fragment sm:collage){
      if (collage.indexOf(key) != -1){
          key = key + 1;
      }
    }
  return keys;   //will repeatedly find the first key?
}

在另一种方法中,我尝试仅查找名称包含“键”的第一个片段,我使用以下代码:

public Fragment findFragment(String key)
{
 key = "keys";
    if (collage.indexof(key) != -1){
        return collage();
    }
} //add random fragment { start at rand() index? }

但是,此方法给出的错误是它无法找到方法 collage(),如果我删除括号(?),它会恢复错误“不兼容的类型”

我对 java 比较陌生,希望能在这个作业上提供帮助! 谢谢。

【问题讨论】:

  • Collage() 不是你的构造函数吗?如果未找到“键”,是否要返回 Collage 的新实例?
  • 也许你想增加循环内的键而不是键? (keys = keys + 1;? 另外,您可能想检查片段中的 indexOf (sm.name.indexOf("key") != -1 也许)
  • collage 不是方法,它是对类片段对象实例的引用。

标签: java string substring bluej


【解决方案1】:

我想你想要这样的东西 -

int keys = 0;
key = "keys";
for (Fragment sm : collage){   
  if (sm.getName().indexOf(key) != -1){ // assuming your Fragment has a getName() method
     keys += 1;
  }
}

我建议您在进一步阅读之前先阅读 java 基础知识

---&gt;http://docs.oracle.com/javase/tutorial/java/nutsandbolts

【讨论】:

    猜你喜欢
    • 2014-06-17
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多