当前位置: 首页 > 知识库问答 >
问题:

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

郎成龙
2023-03-14

因此,我必须制作一个卡片项目,该项目需要一个字符串,例如“Hearts的六个”,并根据数字(六)和套装(Hearts)的值将其转换为整数数组。关于如何让java获取字符串“6”并输出6,我遇到了一个难题。。。有什么提示吗?

编辑:梅花=0;黑桃=3;红心=2;钻石=1;

共有3个答案

范成周
2023-03-14

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

所以您的代码如下所示

HashMap<String, Integer> numMap = new HashMap<String, Integer>();
numMap.put("two", 2);//repeat for all numbers

然后每当您需要数字时,您都会执行numMap.get("2")

拓拔欣嘉
2023-03-14

这通常是使用枚举来实现的:

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());
 }
}

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

司空坚
2023-03-14

你可以用地图。您还可以使用case或if-else语句来实现这一点。

    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

区分大小写在这里很重要,所以请确保键与您传递的任何内容匹配,以访问值。。。

 类似资料:
  • 问题内容: 我有一个,我需要一个。如何从一个转换为另一个? 问题答案: 好问题。我有以下五种 6种方法可以做到这一点。 注意:返回。因此有效地两者是相同的。 调用,这又设置了数组。 另一方面,调用以下程序包私有构造函数。 从源代码中的Java 8的源代码 因此似乎是最有效的方法,在这两个存储器和速度方面,用于转换char到String。

  • 问题内容: 我想知道有什么方法可以将字符串转换为 SOAPMessage 吗? 让我说我有一个字符串如下: 当我这样做时: 一切正常。但是我还是从服务器上得到的。可能是什么原因?我更改了<和>以转义字符。 问题答案: 将String转换为输入流,然后将其读入SOAP消息工厂。 您可以在此处阅读有关如何执行此操作的信息。

  • 问题内容: 假设我有一个包含文本数据的文件,并且想将其转换为(例如,这样我就可以将流的内容写入日志文件)。 将并将其转换为的最简单方法是什么? 问题答案: 这是我的版本

  • 问题内容: 在我的Java项目中,我将FileInputStream传递给一个函数,我需要将其转换(将类型转换FileInputStream转换为字符串),该怎么做。 问题答案: 您不能直接将其转换为字符串。您应该实现这样的东西将此代码添加到您的方法中 使用Aubin的解决方案:

  • 问题内容: 给定一个字符串: 如何将其转换为? 问题答案: 像这样: 请注意,这假设你需要一个,它是一个字节流,它表示编码为UTF-8的原始字符串。 对于小于7的Java版本,请替换为。

  • 问题内容: 如何在Java中将字符串转换为InputStreamReader? 问题答案: 也可以做到这一点: