【问题标题】:Parsing a string in Java and having the out put seperated by a comma在 Java 中解析字符串并用逗号分隔输出
【发布时间】:2015-04-17 04:04:44
【问题描述】:

到目前为止我有这个

import java.util.ArrayList;

public class Sequence
{

private double[] sequence;


public Sequence(String s)
{
   String s = "903, 809, 719";
   System.out.println
   (java.util.Arrays.toString(s.split("\\.")));

}

这会打印以逗号分隔的字符串中的数字吗?

然后我尝试解析每个单独的字符串以获得双精度,并按顺序存储这些双精度。我该怎么做?

【问题讨论】:

  • 你为什么不试试呢?
  • 询问你的编译器。看看它的想法。

标签: java


【解决方案1】:

你应该尝试不同的拆分。

试试这样:

s.split(", ");

希望对你有帮助。

【讨论】:

    【解决方案2】:
        String str_arr[] = s.split(", ");
        for (String string : str_arr) {
            double d = Double.valueOf(s);
            //perform the necessary action here
        }
    

    【讨论】:

      【解决方案3】:

      为了回答你的问题,你用“\。”分割你的字符串,所以不,它不会打印用逗号分隔的数字。

      要通过“,”分割字符串,只需将代码更改为

      s.split(", ");
      

      在这种特殊情况下,我会亲自将 s 拆分为一个字符串数组,然后将该字符串数组的每个元素添加到一个双精度数的 ArrayList 中,以便您以后可以随意使用它们,就像这样

      String[] doubleStrings = s.split(", ");
      ArrayList<Double> doubleList = new ArrayList<Double>();
      
      for(int i = 0;  i < doubleStrings.length; i++){
          doubleList.add(Double.parseDouble(doubleStrings[i]));    
      }
      

      通过使用 ArrayList,您可以按顺序存储拆分字符串的每个元素,从而轻松地允许您随意打印或处理每个 Double。

      【讨论】:

        【解决方案4】:
         String[] ns = s.split(",");
         ArrayList<Double> doubles = new ArrayList<>();
         for(String q : ns)
         {
             doubles.add(new Double(Double.parseDouble(q)));
         }
        

        你应该在双精度数组列表中有双精度值。 (确保您尝试捕获 Double 解析的数字格式异常)

        【讨论】:

        【解决方案5】:

        不,这将在任何位置拆分字符串。 . 是“任意字符”的正则表达式,请尝试

        s.split(", ")
        

        【讨论】:

          猜你喜欢
          • 2021-11-01
          • 2011-02-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多