斩月sama 2015-04-20 11:37 采纳率: 66.7%
浏览 1935
已采纳

这个java程序问题出在哪里?

package exercise_9;
public class Exercise9_29 {

public static void main(String[] args) {

    java.util.Scanner input = new java.util.Scanner(System.in);
    System.out.println("Please enter am array and its split:");
    String s1 = input.next();
    System.out.println("Input split:");
    String s2 = input.next();
    String[] result=split(s1, s2);
    for (int i = 0; i < split(s1, s2).length; i++) {
        if (result[i] != null) {
            System.out.print(result[i]+" ");
        }
    }

}

public static String[] split(String s1, String s2) {
    String[] result = new String[s1.length()];
    int t = 0;
    for (int i = 0; i < s1.length(); i++) {
        for (int j = 0; j < s2.length(); j++) {
        if (s1.charAt(i)==s2.charAt(j)) {
            result[t++]=String.valueOf(s1.charAt(i));
        }else if (s1.charAt(i)!=s2.charAt(j)) {
            result[t]+=String.valueOf(s1.charAt(i));
        }
        }

    }
    return result;

}

}


要求自己写一个String类里面的split方法返回由分隔符分隔开的字符串同时返回分割符,例如输入?dwqdwq#das? ?#
返回? dwqdwq # das ?
但是我的程序不输出字符串只输出分隔符,求解释

  • 写回答

2条回答 默认 最新

  • devmiao 2015-04-20 12:22
    关注

    帮你修改了下,有好几个错误。因为我是C#,但是代码你可以对照修改,调试通过。

             public static string[] split(string s1, string s2)
            {
                string[] result = new string[s1.Length];
                int t = 0;
                for (int i = 0; i < s1.Length; i++)
                {
                    for (int j = 0; j < s2.Length; j++)
                    {
                        if (s1[i] == s2[j])
                        {
                            result[++t] += s1[i].ToString();
                            t++; i++;
                        }
                    }
                    result[t] += s1[i].ToString();
                }
                return result;
            }
    
            string[] result = split("hello#world?hello#kitty", "#?");
            foreach (string s in result)
                Console.WriteLine(s);
    

    输出
    hello
    #
    world
    ?
    hello
    #
    kitty

    Press any key to continue . . .

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统