Java 将数字从加法序列复制到数组中

Java 将数字从加法序列复制到数组中,java,Java,我试图只复制加法序列中的数字,比如45+45+45 代码工作正常,直到遇到最后一个45,我得到的所有显示是两个45,在那里我想要所有的三个。我想为我没有做的建议,这将给我确切的输出。这是我的代码 InputStreamReader read = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(read); String str = "", st; System.out.printl

我试图只复制加法序列中的数字,比如45+45+45 代码工作正常,直到遇到最后一个45,我得到的所有显示是两个45,在那里我想要所有的三个。我想为我没有做的建议,这将给我确切的输出。这是我的代码

InputStreamReader read = new InputStreamReader(System.in);
   BufferedReader in = new BufferedReader(read);
   String str = "", st;
   System.out.println("Enter Number");
   st = in.readLine();
   int l = st.length();
   int c = 0;
   String arr[] = new String[20];
   for(int i = 0; i < l; i++)
   {
       char chr = st.charAt(i);
       if(chr == '+')
       {
           arr[c++] = str;
           str = "";
       }
       else
       {
           str += chr;
       }
   }
   for(int i = 0; i < c; i++)
   {
       System.out.println(arr[i]);
   }
}
InputStreamReader read=新的InputStreamReader(System.in);
BufferedReader in=新的BufferedReader(读取);
字符串str=”“,st;
System.out.println(“输入编号”);
st=in.readLine();
int l=标准长度();
int c=0;
字符串arr[]=新字符串[20];
对于(int i=0;i
查看您的代码。只有在阅读
+
之后,才能将内容添加到数组中。由于最后一个“45”号没有剩余的
+
号,因此不会将其添加到数组中

如果这不是一个家庭作业,最好的解决方案是使用注释中建议的
split()
。在其他情况下,我建议您在循环结束时存储
str
的最后一个内容。它包含剩余的字符


这是一个简单的代码,我相信你能找到它

这正是让我无法入睡的原因。我想不出一个逻辑来将所有这些数字放入数组中。如何获取最后一个?为什么不使用split()方法?arr=标准分割(“+”);我曾经想过,但是如果系列中有不同的操作符,那么它会工作吗?不会。此示例将使用分隔符“+”拆分字符串,而不使用其他分隔符。也许这对你有帮助。