首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java中将字符串转换为int?

如何在Java中将字符串转换为int?
EN

Stack Overflow用户
提问于 2014-12-01 21:07:55
回答 7查看 273关注 0票数 0

因此,我必须做一个卡片项目,它接受一个字符串,如“六心”,并根据数字(6)和套装(心脏)的值将其转换为整数数组。关于如何让java取字符串“6”和输出6,我遇到了麻烦.有什么暗示吗?

编辑:棍棒= 0;黑桃= 3;红心= 2;钻石= 1;

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-12-01 22:04:46

这通常是您会使用枚举的东西:

代码语言:javascript
复制
enum Suit{
 CLUBS   ("clubs", 0),
 DIAMONDS("diamonds", 1),
 HEARTS  ("hearts", 2),
 SPADES  ("spades", 3);

 private final String name;
 private final int value;
 private static final HashMap<String, Suit> suitByName;
 static {
    suitByName = new HashMap<String, Suit>();
    for (Suit s: Suit.values()){
        suitByName.put(s.name, s);
    }
 }

 Suit(String name, int value){
     this.name = name;
     this.value = value;
 }
 public int getValue(){
    return this.value;
 }

 public static Suit fromString(String card){
    return suitByName.get(card.toLowerCase());
 }
}

省略了卡片值的代码。遵循同样的方法。

票数 2
EN

Stack Overflow用户

发布于 2014-12-01 21:09:38

你可以用地图。您还可以使用case或if语句来完成这一任务。

代码语言:javascript
复制
    HashMap<String, Integer> numbers = new HashMap<String, Integer>();
    numbers.put("ace", 1);
    numbers.put("two", 2);
    numbers.put("three", 3);
    numbers.put("four", 4);
    numbers.put("five", 5);
    numbers.put("six", 6);
    numbers.put("seven", 7);
    numbers.put("eight", 8);
    numbers.put("nine", 9);
    //etc...
    HashMap<String, Integer> suits = new HashMap<String, Integer>();
    suits.put("clubs", 0);
    suits.put("spades", 3);
    suits.put("hearts", 2);
    suits.put("diamonds", 1);

    numbers.get("zero");//use this to access the number
    suits.get("spades");//use this to access the suit

大小写敏感性在这里很重要,所以确保键匹配您传递的访问值.

票数 3
EN

Stack Overflow用户

发布于 2014-12-01 21:11:30

有多种方法可以做到这一点,但在我看来,最简单的方法是有一个映射,字符串键是数字的单词,即“6”,返回的值是整数值。

所以你的代码应该是这样的

代码语言:javascript
复制
HashMap<String, Integer> numMap = new HashMap<String, Integer>();
numMap.put("two", 2);//repeat for all numbers

然后每当你需要数字的时候,你就做numMap.get("two")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27237325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档