【问题标题】:How to convert String input into int and push into a Stack如何将字符串输入转换为 int 并推入堆栈
【发布时间】:2013-10-07 16:13:49
【问题描述】:

例如,我有来自用户输入字符串“12,456,544,233”

我想取用逗号分隔的每个数字并将每个数字推入 一个 Stack,因为 Stack 是 . (顺便说一下栈的数组实现)

所以 12 会在 0,456 在 1,544 在 2,等等......

我知道我必须使用 Integer 类进行解析,但只是不确定如何设置循环来执行所有操作,如果我没有提供足够的信息,请询问,我会这样做! 谢谢。

我试过的代码:

String input = scan.nextLine();

    stack.push(Integer.parseInt(String.valueOf(input.charAt(2))));

【问题讨论】:

  • 家庭作业?这里有一个提示:遍历 String.split() 的输出
  • 贴出你试过的代码,否则你会得到一大堆负气,左上角的气计数器会变成负数……
  • 抱歉我更新了,忘记包含了!
  • 所以你正在获取字符,,将其转换为字符串",",并将其传递给parseInt。
  • 提示:阅读 JDK specs。如果您寻找它,您需要知道的一切都在那里。

标签: java string parsing stack


【解决方案1】:

听起来像是家庭作业。所以只是给出一些提示

  1. 您可以使用String.split 方法将字符串拆分为逗号分隔的标记
  2. 现在遍历拆分后得到的数组并推送到堆栈。

注意如果这真的是一个家庭作业,那么您可能需要实现自己的拆分

【讨论】:

  • 欢迎您@user2855405。如果您认为它有帮助,您可以投票/接受它:)
【解决方案2】:

这是拆分字符串的方法

String string = "12,456,544,233";
String[] individualStrings = string.split(",");

split() 方法 围绕给定正则表达式的匹配拆分此字符串。

接下来,您可以对字符串数组进行交互并将每个元素转换为整数。

for(int i = 0; i < individualStrings.length; i++)
{
  int m = Integer.parseInt(individualStrings[i]);
}

干杯!!

【讨论】:

  • 谢谢,string.split 到底是做什么的?这段代码似乎接近我想要的
  • split 方法通过匹配正则表达式来拆分给定的字符串,也可以编辑回复。
猜你喜欢
  • 2021-12-01
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-15
  • 2018-12-30
  • 2013-03-09
  • 1970-01-01
相关资源
最近更新 更多