在android studio中告诉字符串等于int

时间:2016-04-14 12:16:10

标签: java android string int

基本上,我正在创建一个应用程序,用户可以选择18个不同单位(学校基本上)的通行证,优点或区别。我的问题是,我无法弄清楚如何告诉微调器,如果其中的字符串是" Pass",那个字符串等于整数70(Merit = 80,区别= 90)。我正在为旋转器使用字符串数组和适配器。我目前正在尝试使用If语句执行此操作:

if (spinner1.toString().equals("Pass")){}

我只是不知道我该怎么做才能告诉字符串等于int。

重申一下,我希望Pass to = 70,Merit = 80,Distinction = 90。

非常感谢任何指导和帮助。 :)

2 个答案:

答案 0 :(得分:1)

希望这会有所帮助,它有点模糊...... 你的意思是,你有一些字符串< - > int转换吗?

public YourConstructor() {
    /*Map<String, Integer>*/ theMap = new HashMap<String, Integer>();
    theMap.put("Pass", 10);
    theMap.put("Merit", 70);
    theMap.put("distinction ", 90);
    ...
}

public int getNumber(String text) {
    return theMap.get(text);

    // I hope this will be, one day, forgotten. This is BAD.
    //for (String s : theMap.keySet())
    //  if (text.equals(s))
    //      return theMap.get(s);
    // return 0; // default for "item not found", or throw
}

因此final String yourString = ""+getNumber(spinner.getSelectedItem().toString());

将:: String转换为整数:

   int integer = Integer.parseInt(text);

整数到字符串

   String theString = ""+integer;

答案 1 :(得分:0)

创建如下地图:

Map<String,int> gradeScoreMap=new HashMap<String,int>();
gradeScoreMap.put("PASS",70);
gradeScoreMap.put("MERIT",70);
gradeScoreMap.put("DISTINCTION",70);

上面的地图将包含您的成绩分数

的映射

为Map创建一个getter:

public String getgradeScoreMap(String grade) {
return gradeScoreMap.get(grade);
}

上述方法将用于根据输入等级获取分数。

现在使用:

int score=-1;
if (spinner1.toString().equals("Pass")){
score =getgradeScoreMap(spinner1.toString());
}

分数将是&#34; PASS&#34;的等价值。即70