A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求思路和分析

给定两个字符串参数a和b,创建一个更大的字符串,由a的第一个字符,b的第一个字符,
a的第二个字符,b的第二个字符等组成。 任何剩余的字符在结果的末尾。
例如:"abc"和"xyz"返回的是:"axbycz"."
"xxxx","There")
"xTxhxexre"

24 个回复

倒序浏览
有什么难的,循环嵌套遍历两个字符串就可以了啊
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
你都把题讲出来了,思路已经很明确了
给定两个字符串参数a和b,创建一个更大的字符串,由a的第一个字符,b的第一个字符,
a的第二个字符,b的第二个字符等组成。 任何剩余的字符在结果的末尾。
这本身就是思路和分析
回复 使用道具 举报
回复 使用道具 举报
StringBuilder类中apend方法啊
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
掬一束月光 发表于 2017-5-2 06:43
你都把题讲出来了,思路已经很明确了
给定两个字符串参数a和b,创建一个更大的字符串,由a的第一个字符,b的 ...

啊,,,,但这种思路对我来讲好像没什么用啊
回复 使用道具 举报

请不要逗我玩,说出禅语我需要足够的智商
回复 使用道具 举报
IceLoveInFire丶 发表于 2017-5-2 03:04
有什么难的,循环嵌套遍历两个字符串就可以了啊

循环遍历那不是axyzbxyzcxyz,不符合要求
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
//定义一个大串用来接收新的字符串,可以用SB来做
String c=“”;
//先比较两字符串的长度
if(a.length()≥b.length()){
//把大串放b里面方便操作
String temp =a;
a=b;
b=temp;
}
//遍历大串
for (int i=0;i<b.length();i++){
//
       if(i<a.length()){
            c += a.charAt(i)+b.charAt(i);
       }else{
             c+=b.chatAt(i);
        }
}

来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
字符数组自定方法或集合算法
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
星尘起航 发表于 2017-5-2 09:57
//定义一个大串用来接收新的字符串,可以用SB来做
String c=“”;
//先比较两字符串的长度

谢谢帮助,我看看
回复 使用道具 举报
hongyu2017 发表于 2017-5-2 11:22
字符数组自定方法或集合算法

谢谢帮助
回复 使用道具 举报
同时遍历俩个字符串,然后相加即可
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
本帖最后由 654788808 于 2017-5-2 23:17 编辑

public class Demo {
        public static void main(String[] args) {
                String a = "abcdef";
                String b = "123";  //调用静态方法,并打印返回结果              
                System.out.println(sumAB(a,b));
        }
//定义静态方法,需要参数为两个字符串,返回结构为字符串形式
        public static String sumAB(String a , String b){
//定义空串,接收每次循环的结果
                String ab = "";
//循环遍历长度较短的字符串,其中任意一个为空串,此循环会被跳过
                for(int i = 0; i<a.length()&&i<b.length();i++){
                        ab = ab+a.charAt(i)+b.charAt(i);
                }
                int len = ab.length()/2;
//累加上剩下的字符串               
                return ab+a.substring(len)+b.substring(len);
        }
}

回复 使用道具 举报
654788808 发表于 2017-5-2 22:14
package dome;

public class dome {

老鸽稳稳地
回复 使用道具 举报
654788808 发表于 2017-5-2 22:14
public class Demo {
        public static void main(String[] args) {
                String a = "abc ...

谢谢帮助,我认真学习一下
回复 使用道具 举报
newu 黑马帝 2017-5-3 08:52:42
17#
楼主威武,强烈支持……
回复 使用道具 举报
天呐 你很66 这个貌似不是你要担心的问题 哥们不要走偏
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
unscdf117 发表于 2017-5-3 10:49
天呐 你很66 这个貌似不是你要担心的问题 哥们不要走偏

?什么意思
回复 使用道具 举报
package com.itheima;
/*给定两个字符串参数a和b,创建一个更大的字符串,由a的第一个字符,b的第一个字符,
a的第二个字符,b的第二个字符等组成。 任何剩余的字符在结果的末尾。
例如:"abc"和"xyz"返回的是:"axbycz"."*/

public class Test1 {
        public static void main(String[] args) {
                String s1 = "abc";
                String s2 = "xyzttt";
                StringBuilder sb1 = new StringBuilder();
               
                for (int i = 0; i<s1.length();i++){
                        sb1.append(s1.charAt(i));
                        sb1.append(s2.charAt(i));
                }
                if(s2.length()-s1.length()>0){
                        for(int i = s1.length();i<s2.length();i++){
                                sb1.append(s2.charAt(i));
                        }
                }
               
                System.out.println(sb1);
        }
}
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马