【问题标题】:coordinates string to int坐标字符串到 int
【发布时间】:2014-11-23 22:24:16
【问题描述】:

所以我理解将 String 转换为 int(我知道是 parseInt),但我想知道是否可以转换以下内容:

字符串坐标 = EasyIn.getString(); (例如“1, 1”)

Integer.parseInt(坐标);显然不起作用,因为有多个整数。有什么办法可以解决这个问题,还是我需要建立单独的整数?感谢您就此事提供任何建议或帮助!

(这是Java,顺便说一句)

【问题讨论】:

  • 你知道String类的split方法吗?

标签: java string integer type-conversion


【解决方案1】:

如果您不能使用较新的 API,请执行以下操作: 首先,用

找到逗号
int commaLoc = coordinates.indexOf(",");

然后解析每个子串

int x = Integer.parseInt(coordinates.substring(0,commaLoc));
int y = Integer.parseInt(coordinates.substring(commaLoc + 2));

如果您可以使用扫描仪:

Scanner scanner = new Scanner (coordinates);
scanner.useDelimiter (", ");   
int x = scanner.nextInt();
int y = scanner.nextInt();

【讨论】:

    【解决方案2】:

    在java中没有直接的方法,但是如果你使用正则表达式,它只是两行简单的:

    int x = Integer.parseInt(coordinates.replaceAll(",.*", ""));
    int y = Integer.parseInt(coordinates.replaceAll(".*,", ""));
    

    如果你有 java 8,从 CSV 数字中获取整数数组只需一行。

    int[] ints = Arrays.stream(coordinates.split(", *")).mapToInt(Integer::parseInt).toArray();
    

    【讨论】:

      猜你喜欢
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2011-09-17
      • 2022-11-17
      • 2011-08-09
      相关资源
      最近更新 更多