将整数值分配给String

时间:2016-05-15 17:24:16

标签: android string integer assign

我正在开发一个应用,我必须将整数值分配给不同的字符串。例如,我想分配:

John = 2
Good = 3
Person= 7

现在这些John,Good和person是字符串,而2,3和7是int值。但我对如何实现它感到困惑。我读了很多关于如何将int转换为string和string转换为int的内容,但这是不同的情况。

我可以选择用户在editText中输入文本,例如,如果用户输入" Hello John,你是一个好人"然后这个行输出将是12,因为输入文本中的所有三个单词John,Good和person都在那里。你能告诉我如何实现这个目标吗? 我被困在这里是我的小代码:

String s = "John";
int s_value= 2;

现在我想将此2分配给John,以便每当用户提供输入并且它包含John时,则显示John的值2。请帮助,因为我只是一个初级程序员

这是我的代码(编辑)

String input = "John good person Man";
Map<String, Integer> map = new HashMap<>();
map.put("John", 2);
map.put("Good", 3);
map.put("Person", 7);
//int number = map.get("Good");
String[] words = input.split(" ");
ArrayList<String> wordsList = new ArrayList<String>();

for(String word : words)
{
    wordsList.add(word);
}
for (int ii = 0; ii < wordsList.size(); ii++) {
    // get the item as string
     for (int j = 0; j < stopwords.length; j++) {
         if (wordsList.contains(stopwords[j])) {
             wordsList.remove(stopwords[j]);//remove it
         }
     }
}
for (String str : wordsList) {
    Log.e("msg", str + " ");

}

正如你所看到我应用你的代码然后我想分割我的主字符串,以便该字符串的每个单词与Map&lt;&gt;中的字符串进行比较。现在我很困惑在for循环中写什么(&#39;停用词&#39;将被什么东西取代?)

4 个答案:

答案 0 :(得分:3)

您可以使用Map<String, Integer>将字词映射到数字:

Map<String, Integer> map = new HashMap<>();
map.put("John", 2);
map.put("Good", 3);
map.put("Person", 7);

然后查询给出一个单词的数字:

int number = map.get("John"); // will return 2

<强>更新

以下代码迭代单词集合,并将单词匹配的值相加:

List<String> words = getWords();
int total = 0;
for (String word : words) {
  Integer value = map.get(word);
  if (value != null) {
    total += value;
  }
}
return total;

答案 1 :(得分:0)

您可以使用String contains来实现此目的。以下是代码:

String input = "John you are a good person";
String s1 = "John";
String s2 = "good";
String s3 = "person";
int totScore =0;
if(input.contains(s1)) {
  totScore=totScore+2;
}
else if (input.contains(s2)) {
  totScore=totScore+3;
}
else if (input.contains(s3)) {
  totScore=totScore+7;
}

System.out.print(totScore);

答案 2 :(得分:0)

我会为此使用字典。您可以为该字符串添加字符串和int(或其他任何实际值)。

Error saving your changes: Description contains unicode characters above 0xffff

答案 3 :(得分:0)

您可以使用类似的课程。

class Word{
    String wordName;
    int value;

    public Word(String wordName, int value){
        this.wordName = wordName;
        this.value = value;
    }

    // getter
    public String getWordName(){
        return this.wordName;
    }

    public int getValue(){
        return this.value;
    }

    // setter
    public void setWordName(String wordName){
        this.wordName = wordName;
    }

    public void zetValue(int value){
        this.value = value;
    }

}

您可以创建单词

的对象
Word person = new Word("Person",3);