【问题标题】:Java for loop probJava for 循环问题
【发布时间】:2014-11-19 17:17:06
【问题描述】:

我有两个字符串,A 和 B,A 的值是 "ABCDE",B 的值是 "12345",我想创建一个 for 循环,使字符串 C 具有 @987654323 的值@,问题是A和B的值可能不同,A和B可以等于或A比B大一个字符,只有这两个选项是可能的:

if(A.length()>B.length()){
   B=B+"_";
}
int length=A.length()+B.length();
for(int count = 0; count == length;count++){
   C=C+A.charAt(count)+B.charAt(count);
}
System.out.println(C);

但没有打印出来。

【问题讨论】:

  • 家庭作业?你知道调试器吗?

标签: java string for-loop


【解决方案1】:

就这样试试

    for(int count = 0; count < length/2;count++){
       C=C+A.charAt(count)+B.charAt(count);
    }

【讨论】:

    【解决方案2】:

    您的问题是您在 for 循环中的条件“count == length”。这意味着只要 count 等于 length,for 循环就会运行,即它不会运行,除非长度为 0(count 的初始条件)。

    你可以写:

    if (A.length() > B.length()) B += "_";
    for (int i = 0; i < A.length(); i++) C = C + A.charAt(i) + B.charAt(i);
    System.out.println(C);
    

    【讨论】:

      【解决方案3】:
      int max = B.length()
      if (A.length() > B.length()){
          max = A.length()
      }
      String C = "";
      for (int i = 0; i < max; i++){
          if (i < A.length){
              C = C + A.charAt(i)
          }
          if (i < B.length){
              C = C + B.charAt(i);
          }
      }
      

      这会检查以获取要迭代的最大长度,然后在 for 循环中,仅添加存在的字符,以每个字符串的交替模式,直到一个字符串为空,然后将另一个字符串的其余部分附加到一次结束一个字符。这允许这种方法连接任意长度的两个字符串,而不仅仅是长度相差 1 的字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-14
        • 1970-01-01
        • 2011-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-05
        • 1970-01-01
        相关资源
        最近更新 更多