Java读取字符串并将字符串中的数字转换为整数类型

Java读取字符串并将字符串中的数字转换为整数类型,java,Java,我试图从用户字符串(如果它有数字)中获取数字,并将这些数字转换为它们的数值。我有以下接收用户输入的代码 示例:java Convert“55s”将只输出数字55,我将存储该数字以供以后使用 { char Element = 0; double Sum = 0; boolean Check = false; for(String s: args) // taking in user input for command line

我试图从用户字符串(如果它有数字)中获取数字,并将这些数字转换为它们的数值。我有以下接收用户输入的代码

示例:
java Convert“55s”
将只输出数字55,我将存储该数字以供以后使用

{
      char Element = 0;
      double Sum = 0;
      boolean Check = false;

        for(String s: args)  // taking in user input for command line 
        {
            for (int i = 0; i<s.length(); i++)
            {
              Check = true;
              Element = s.charAt(i);          // converting the string into chars
              Sum = convert_to_numb (Element, Check);
              Check = false;
            }
        }

在这里,我输入字符以查看它们是否是数字,并将实际数字转换为它们的整数值。为了澄清,我想执行以下任务,给出一个输入“55”的示例,将其转换为5*10^1+5*10^0=55。我将感谢任何帮助。谢谢。

好吧,我想我可能知道你想要完成什么,尽管正如其他人提到的,这有点不清楚

为了解决您刚刚发布的代码,我认为它不会按照您期望的方式运行。对于初学者来说,布尔变量“Check”目前没有任何作用。convert_to_numb仅在Check为true时调用,因此它是冗余的

此外,在循环字符串时,总和不会存储在任何位置。每次获得一个和时,它都会覆盖上一个和

你的“把你变成麻木”的方法更麻烦;它包含一个无限循环。由于Check总是设置为“true”,所以实际上有一个while(true)循环将永远不会结束


我假设您的目标是解析输入到程序中的字符串,查找连续数字组。然后,您希望将这些数字组存储为整数,如果您找到多个,则可能存储在一个数组中

像这样的事情可能会奏效

{
ArrayList discovered=新的ArrayList();
for(字符串s:args){
//包含以前的连续数字(如果有)
ArrayList位数=新的ArrayList();
对于(int i=0;i
请注意ArrayList以及整数和字符包装类的使用。这些都提供了有助于处理边缘情况的功能。例如,我不确定
(iter-48)
部件在所有情况下都能工作。

类似这样的内容:

public static void main(String[] args) {
    String string = "55s";
    String[] piece = string.split("[\\D]+");
    for (int j = 0; j < piece.length; j++) {
        if(piece[j].trim().length() > 0) {
            System.out.println(piece[j]);
        }
    }
}
publicstaticvoidmain(字符串[]args){
String=“55s”;
String[]piece=String.split([\\D]+”);
对于(int j=0;j0){
系统输出打印LN(件号[j]);
}
}
}

它会分割你的初始字符串,剩下的你自己做。

一个问题,如果字符串是
“foo55bar66bazz7”
你会存储什么?我想做的是创建一个小计算器,为了回答你的问题,我会知道等式是什么,因为这是一个硬件赋值,所以我会存储55,66,77分为主要的独立变量
public static void main(String[] args) {
    String string = "55s";
    String[] piece = string.split("[\\D]+");
    for (int j = 0; j < piece.length; j++) {
        if(piece[j].trim().length() > 0) {
            System.out.println(piece[j]);
        }
    }
}