【问题标题】:Split a string in java according to characters with even or odd order根据偶数或奇数顺序的字符拆分java中的字符串
【发布时间】:2018-02-22 13:53:49
【问题描述】:

您输入了一个字符串。我想要做的是将字母放在变量中的奇数位置,而将字母放在另一个变量中的偶数位置...... 但我一直在网上阅读,我能找到的只是如何按特定字符分割:“/”、“-”或“". But I dont 有一个.. 显示我应该使用什么......

我应该用其他方式解决这个问题吗....

前:

String S = "alfabet";

我想打印出来:

odd = "afbl"; 
even = "lae";
System.out.println(odd + "  " + even);

【问题讨论】:

  • S.toCharArray() 然后迭代此数组是否希望连接字符。明白你不会找到一个现成的方法来做到这一点,它永远不会被使用。你需要自己实现逻辑。
  • Javadoc 是你的朋友:String.charAt 是另一个有用的方法。
  • @AxelH 将字符串复制到字符数组有什么好处?您可以使用charAtString 获取每个字符
  • @khelwood 更简单的解释是可以让数组进行迭代,而不是一个方法能够在String 类使用的数组中的某个位置获取字符。所以主要是因为我试图简洁并且有点懒惰......;)

标签: java string split


【解决方案1】:

我使用了两个名为奇数和偶数的字符串,并将它们都设置为空,然后我遍历字符串 s 的所有字母并将偶数字符添加到偶数和奇数字符到奇数,如下所示:

String S = "alfabet";
            String odd="";String even="";
            for(int c=0;c<S.length();c++)
            {
                if(c%2==0)odd+=S.charAt(c);
                else even+=S.charAt(c);
            }

【讨论】:

    【解决方案2】:

    请执行以下操作:

    int i = 0;
    StringBuilder oddString = new StringBuilder();
    StringBuilder evenString = new StringBuilder();
    while(i++ < S.length())
    {
        if(i & 1){
            oddString.append(S.charAt(i));
        }else{
            evenString.append(S.charAt(i));
        }
    }
    System.out.println("Even String: " + evenString);
    System.out.println("Odd String: " + oddString);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-16
      • 1970-01-01
      • 2014-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多