Code Hunt 题解 05-08 (Java)

本文提供了多个Java编程挑战题的解决方案,涵盖了条件判断、字符串操作、循环应用等多个方面,通过这些题目可以帮助读者提升编程技巧。

接上一篇~继续题解
话说 csdn 的风格好诡异。。。。

Sector 05 Conditionals 2

05.01
public class Program {
    public static String Puzzle(String s) {
        return s.length()<4? "short": s.length()<8? "average":s.length()<15? "long": "super long";
    }
}
05.02
public class Program {
    public static String Puzzle(int i) {
         return i%1111==0? "fancy year": "not a fancy year";
    }
}
05.03
public class Program {
    public static Boolean Puzzle(int a, int b, int c) {
        int aa=a*a,bb=b*b,cc=c*c;
        return (aa==bb+cc || bb==aa+cc || cc==aa+bb);
    }
}
05.04
public class Program {
    public static int Puzzle(int x, int y) {
        return Math.abs(x)+Math.abs(y);
    }
}
05.05
public class Program {
    public static Boolean Puzzle(int i, int j) {
        if(i*i == j){
                return true;
        }

        else{
                return false;
        }
    }
}

Sector 06 Strings

06.01 <......>
public class Program {
    public static Boolean Puzzle(String s) {
        return false;
    }
}
06.02 <只有一星。。。。求高人解答>
public class Program {
    public static String Puzzle(String s) {
        String s1=s.toUpperCase();
        String s2="";
        for (int i=0;i<s.length();i++)
        {
             if (i%2==0) s2+=s1.charAt(i);
             else s2+=s.charAt(i);
        }
        return s2;
    }
}
06.03 <还是只有一星!伤心。。。>
public class Program {
    public static String Puzzle(String s) {
        s+=" ";
        char[]a=new char[s.length()-1];
        for (int i=0;i<s.length()-1;i++)
        if (s.charAt(i)!=' ' && s.charAt(i+1)==' ') a[i]=(char)(s.charAt(i)-32);
        else a[i]=s.charAt(i);
        return (new String(a));
    }
}
06.04
public class Program {
    public static char Puzzle(String s, int x) {
        return s.charAt(x);
    }
}
06.05
public class Program {
    public static String Puzzle(String one, String two) {
        return two+one;
    }
}
06.06
public class Program {
    public static String Puzzle(String s) {
        return s.substring(s.length()/2);
    }
}
06.07
public class Program {
    public static String Puzzle(String s) {
        return s.substring(s.length()/2+1).toUpperCase()+s.substring(s.length()/2);
    }
}
06.08
public class Program {
    public static int Puzzle(String a, String b) {
        return b.length()>a.length()? b.length():a.length();
    }
}
06.09
public class Program {
    public static String Puzzle(String a, String b) {
        if (a.length()==b.length()) return a+b;
        return (a.length()>b.length()? a:b);
    }
}
06.10
public class Program {
    public static int Puzzle(String s) {
        return s.length()/3;
    }
}
06.11
public class Program {
    public static String Puzzle(int i, int j, String s) {
        return s.substring(i,s.length()-1)+s.substring(j,s.length()-1);
    }
}
06.12 <String类是没有reverse()方法的,但是StringBuffer类有>
public class Program {
    public static String Puzzle(String s) {
        return s+new StringBuffer(s).reverse().toString();
    }
}

Sector 07 Strings 2

07.01
public class Program {
    public static String Puzzle(String one, String two, String three) {
        return two+three+one+one+three+two;
    }
}
07.02
public class Program {
    public static String Puzzle(String s) {
        return s.substring(0,s.length()/2);
    }
}
07.03
public class Program {
    public static String Puzzle(String a, String b, String c) {
        return a.replace(b,c);
    }
}
07.04
public class Program {
    public static String Puzzle(String s) {
        return (new StringBuffer(s)).reverse().toString();
    }
}
07.05
public class Program {
    public static String Puzzle(String a, String b) {
        char[] c=a.toCharArray();
        for (int i=0;i<b.length();i+=2) c[i]=b.charAt(i);
        return (new String(c));
    }
}
07.06
public class Program {
    public static String Puzzle(String s) {
        return s.replace(" ","");
    }
}
07.07 <又是正则表达式。。。。>
public class Program {
    public static String Puzzle(String s) {
        return (s.replaceAll("a|e|i|o|u",""));
    }
}
07.08
public class Program {
    public static Boolean Puzzle(String input, String a, String b, String c) {
        return(input.startsWith(a) && input.indexOf(b)!=-1 && input.endsWith(c));
    }
}
07.09
public class Program {
    public static String Puzzle(int i, String s) {
        return i==1? s:s+" "+Puzzle(i-1,s);
    }
}
07.10 <只有两星,望高人指点>
public class Program {
    public static String Puzzle(int t) {
         String s="a b c d e f g h i j k l m n o p q r s t u v w x y z";
         String s1="";
         for (int i=1;i<t;i++) s1=s1+s+" ";
         return (s1+s.substring(0,51-t*2)+" z");
    }
}

Sector 08 Nested loops

08.01 <可以写函数了>
public class Program {
    static int fact(int n)
    {
        return (n==0? 1: n*fact(n-1));
    }
    public static int Puzzle(int i, int j) {
        int sum=0;
        while (i<=j) {sum+=fact(i); i++;}
        return sum;        
    }
}
08.02
public class Program {
    public static String Puzzle(int n) {
        String output = ""; String now=" ";
        for(int i = 0; i < n; i++)
        {
            now="#"+now;
            output+=now;
        }
        return output;
    }
}
08.03
public class Program {
    public static String Puzzle(int n) {
        String output = "";
        String now=new String('_',n+1);
        for(int i = 0; i <= n; i++){
            now=now.replaceFirst("_",""+i);
            output += now+" ";
        }
        return output;
    }
}
08.04
public class Program {
    public static String Puzzle(int n, String b) {
        String output=new String(b.charAt(0),n);
        char[] c=output.toCharArray();
        String ans="";
        for(int i = 0; i < n; i++){
            c[i]='-';
            ans+=new String(c)+" ";
            c[i]=b.charAt(0);
        }
        return ans.trim();
    }
}
08.05
public class Program {
    public static String Puzzle(String a) {
        int l=a.length();
        char[]c=a.toCharArray();
        String ans="";
        for (int i=0;i<l;i++)
        {
            c[i]='_';
            ans+=new String(c)+" ";
            c[i]=a.charAt(i);
        }
        return ans.trim();
    }
}
08.06
public class Program {
    public static String Puzzle(int size) {
        String output=new String('$',size);
        String out2=new String('_',size-2);
        out2="$"+out2+"$ ";
        String ans="";
        for (int i=1; i<=size-2;i++) ans+=out2;
        return output+" "+ans+output;

    }
}
08.07
public class Program {
    public static String Puzzle(int height, int width) {
        String ans=new String('_',width).replace("_","xo");
        String ans1=ans.substring(0,width); String ans2=ans.substring(1,width+1); String output="";


        for (int i = 0; i<height; i++)
        {
            if (i%2==0) output+=ans1+" ";
            else output+=ans2+" ";
        }
        return output.trim();
    }
}
08.08
public class Program {
    public static String Puzzle(int number) {
        String output = "";
        for(int i=1; i<number; i++){
                output +=new String((char)('0'+i),i)+" ";
        }
        output+=new String((char)('0'+number),number)+" ";
        for(int i=number-1; i>=1; i--){
                output +=new String((char)('0'+i),i)+" ";
        }
        return output.trim();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值