我正在处理一个程序,用户输入的是一个包含混合字符串和整数的数组。例如:
dog 10 23 cat frog 22 elephant
我需要对这个数组进行排序,但不能改变每个索引的类型。所以输出将是:
cat 10 22 dog elephant 23 frog
在从控制台读取行后,我使用字符串分割器来遍历每个元素。之后,我尝试使用parseInt,如果它抛出异常,则假定它是一个字符串,否则它是一个整数。有没有更好的方法来判断一个标记是否为数字?
谢谢。
dog 10 23 cat frog 22 elephant
我需要对这个数组进行排序,但不能改变每个索引的类型。所以输出将是:
cat 10 22 dog elephant 23 frog
在从控制台读取行后,我使用字符串分割器来遍历每个元素。之后,我尝试使用parseInt,如果它抛出异常,则假定它是一个字符串,否则它是一个整数。有没有更好的方法来判断一个标记是否为数字?
谢谢。
^
后面加上-?
(表示“零个或一个-
字符”)。 - T.J. CrowderisNumber
,并使用try/parseInt/catch块来实现它。如果这个方法运行速度太慢,很容易进行替换。 - Keith RandallisNumber
,为什么不一开始就写好呢?如果有任何重要的工作需要完成,那当然不要过早地进行优化,尽管我对在超过50%的正常程序流程中使用异常非常谨慎(根据OP的示例)。但在这里,实际上并没有这样的情况。 - T.J. Crowder