将整数值分配给字符串
Assign Integer Value to String
我正在开发一个应用程序,我必须在其中为不同的单词字符串分配整数值。例如我想分配:
John = 2
Good = 3
Person= 7
现在这些 John、Good 和 person 是字符串,而 2,3 和 7 是 int 值。但是我对如何实现它感到很困惑。我读了很多关于如何将 int 转换为字符串和将字符串转换为 int 的内容,但这是不同的情况。
我正在为用户提供在 editText 中输入文本的选项,例如,如果用户输入 "Hello John you are a good person",则此行输出将为 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<> 中的字符串进行比较。现在我很困惑在for循环中写什么('stopwords'会被什么东西代替?)
您可以使用 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);
您可以使用 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;
我会为此使用词典。您可以为该字符串添加一个字符串和一个 int(或其他任何实际值)值。
Dictionary<string, int> d = new Dictionary<string, int>();
d.Add("John", 2);
d.Add("Good", 3);
d.Add("Person", 7);
你可以用class赞。
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);
我正在开发一个应用程序,我必须在其中为不同的单词字符串分配整数值。例如我想分配:
John = 2
Good = 3
Person= 7
现在这些 John、Good 和 person 是字符串,而 2,3 和 7 是 int 值。但是我对如何实现它感到很困惑。我读了很多关于如何将 int 转换为字符串和将字符串转换为 int 的内容,但这是不同的情况。
我正在为用户提供在 editText 中输入文本的选项,例如,如果用户输入 "Hello John you are a good person",则此行输出将为 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<> 中的字符串进行比较。现在我很困惑在for循环中写什么('stopwords'会被什么东西代替?)
您可以使用 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);
您可以使用 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;
我会为此使用词典。您可以为该字符串添加一个字符串和一个 int(或其他任何实际值)值。
Dictionary<string, int> d = new Dictionary<string, int>();
d.Add("John", 2);
d.Add("Good", 3);
d.Add("Person", 7);
你可以用class赞。
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);