string练习题

1随便给定一个字符串,例如“abcdef”,要求倒序输出,即“fedcba”
2给定一个字符串“1a5fds6fds9FAWE6aa",输出小写字母、大写、数字各有多少个
3给定一个身份证号,输出这个人的生日,性别,以上题为基础,计算这个今年的生日过了吗?如果没过,距离他今年生日还有几天?

随便给定一个字符串,例如“abcdef” ,要求倒序输出,即“fedcba” 
//        String a="abcdef";
//        char[] b=a.toCharArray();
//        for(int i=b.length-1;i>=0;i--){
//            System.out.println(b[i]);
//        }
        
//        给定一个字符串“1a5fds6fds9FAWE6aa",输出小写字母、大写、数字各有多少个 
//        int upper=0;
//        int lower=0;
//        int num=0;
//        String a="1a5fds6fds9FAWE6aa";
//        char[] b=a.toCharArray();
//        for (int i = 0; i < b.length; i++) {
//            if (b[i]>=65&&b[i]<=90) {
//                upper++;
//            }else if (b[i]>=97&&b[i]<=122) {
//                lower++;
//            }else {
//                num++;
//            }
//        }System.out.println("大写"+upper+"小写"+lower+"字母"+num);
        
//        给定一个身份证号,输出这个人的生日,性别
//        以上题为基础,计算这个今年的生日过了吗?如果没过,距离他今年生日还有几天? 
        String idcard="142701199407305653";
        String bir=idcard.substring(6, 14);
        System.out.println(bir);
        //1129
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd");
        Date birthday=dateFormat.parse(bir);
        System.out.println(birthday);
        
        int a=0;
        
        Date now=new Date();
        if(birthday.getMonth()>now.getMonth()) {
            System.out.println("没过");
            a=1;
        }else if(now.getMonth()==birthday.getMonth() 
                && birthday.getDate()>now.getDate()) {
            System.out.println("没过");
            a=1;
        }else {
            System.out.println("过了");
        }
if(a==1) {
            String year=String.valueOf(now.getYear()+1900);
            System.out.println(year);
            String md=idcard.substring(10,14);
            String nowBir=year+md;
            System.out.println(nowBir);
            Date nowBirDate=dateFormat.parse(nowBir);
            long time=(nowBirDate.getTime()-now.getTime())/1000/60/60/24;
            System.out.println(time);
        }

 

1. 给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串出现位置.
如:"abcbcbabcb34bcbd"中,"bcb"子串的第一次出现位置为1
2. 输入小写字符串,然后将它们转换成大写输出
3. 输入大写字符串,然后转换成小写输出
4. 扩展:针对2.3,题目如果要求输入小写字母,那你需要给我做判断,如果用户输入的不是小写字
母,要有错误提示,或者其他的错误处理机制。
5. 随便输入一个字符串,根据逗号分割,然后输出。比如输入:
“反倒是,fds,fdsa,fdsa,fdsa,fdsa”
输出:
反倒是
fds
fdsa
……
6. 输入一句英文句子,单词中间用空格隔开,输入单词的逆序。比如,输入“TO BE NO.1”,输出
“NO.1 BE TO”
7. 定义一个字符串,例如”abcdef",把该字符串倒序输出
8. 输入一个字符串,把里面所有的“a”替换成"b"然后输出
9. 输入一个字符串,然后在输入两个数字a,b,要求输出对字符串从a到b的截取

10. 输入一个字符串,再输入一个数字,要求输出该数字对应位置的字符,比如“fdsaf”,输入数字几,
就返回第几个字符。
11. 求s=a+aa+aaa+aaaa+aa...a的值,其中a,n为给定的数字。例如2+22+222+2222+22222(此时
a=2,n=5),a和n由键盘输入。输出结果的形式如:2+22+222=246;
12. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例
如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
13. 【选做】将一个正整数分解质因数。例如:输入90,打印出90=233*5。
14. 【选做】一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出
1000以内的所有完数。
15. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

16. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又
将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10
天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

//            String aa="abcbcbabcb34bcbd";    
//            System.out.println(aa.contains("bcb"));
//             System.out.println(aa.indexOf("bcb"));
//        
        
//            char[] bb=aa.toCharArray();
//            
//            for (int i = 0; i < bb.length; i++) {
//                if (bb[i]=='b') {
//                    System.out.println(i);
//                }
//            }
//                System.out.println(aa.toUpperCase());    
//                String aa="ASDFGJKKL";
//                System.out.println(aa.toLowerCase());
//                
//                
//                String aaa="反倒是,fds,fdsa,fdsa,fdsa,fdsa";
//                String[] bbb=aaa.split(",");
//                    for (int  i = bbb.length-1; i>=0;i--) {
//                        System.out.println(bbb[i]);
                        
//                String aaa="TO BE NO.1";        
//                String[] bbb=aaa.split(" ");
//                for (int  i = bbb.length-1; i>=0;i--) {
//                    System.out.println(bbb[i]);
//                    }
                
//               String aaa="abcdef";
//               char[] bbb=aaa.toCharArray();
//               for (int  i = bbb.length-1; i>=0;i--) {
//                    System.out.println(bbb[i]);}
               
//               String aaa="acadea";
//               System.out.println(aaa.replace('a', 'b'));
        
        
//               String aaa="acbdea";
//               System.out.println(aaa.substring(0,3));
              
//               String aaa="fdsaf";
//               char[] b=aaa.toCharArray();
//               System.out.println(b[1]);
        
        
        
        
//               String aaa="fdsaf";
//               int i=1;
//               System.out.println(aaa.charAt(i));
        
//              int a=2;
//              int b=3;
              
//              String a1="a aa aaa";
//              String bbb=a1.replace(" ","+");
//              int sum=a+a*10+a+a*100+a*10+a;
//              System.out.println(bbb+"="+sum);
//        s=2+22+222=246。
//        int a,s,n;
//        long sum=0;
//          Scanner sc=new Scanner(System.in);
//          System.out.println("请输入a:");
//           a=sc.nextInt();
//          System.out.println("请输入n:");
//           n=sc.nextInt();
//           String str="";
//          s=0;
//          for(int i=1;i<=n;i++) {
//              s=s*10;
//              s=s+a;
//           if(i<n) {
//               str=str+s+"+";   
//             }else {
//                 str=str+s;
//            }
//             sum=sum+s;
//         }
//         System.out.println(str+"="+sum);
//              
            
//              三位数水仙花
//              int a,b,c;
//                System.out.println("三位数中所有的水仙花数为:");
//                for(int n = 100;n <= 999;n++){
//                        a = n /100; //获取百位数字
//                        b = n % 100 /10; //获取十位数字
//                        c = n %10; //获取个位数字
//                        if(a*a*a + b*b*b + c*c*c == n){
//                                System.out.println(n);}
//                }
//        有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
//             int sum=0;
//            for(int i=1;i<=4;i++){
//                for(int j=1;j<=4;j++){
//                    for(int k=1;k<=4;k++){
//                        if(i!=j&&i!=k&&j!=k){
//                            sum++;
//                            System.out.println(100*i+j*10+k);
//                            
//                        }
//                    }
//                }
//            }System.out.println(sum);
//          猴子吃桃问题:
//        猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。
//        第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。
//        到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?    
//              
//          int t = 1;  /* 第10天 */ 
//            for(int i=1;i<10;i++){
//                t=(t+1)*2;                        
//            }
//            System.out.println(t);
//        将一个正数分解质因数
//             int a=90;
//             System.out.print("90=");
//             for(int i=2;i<=a/2;i++) {
//                 if(a%i==0) {
//                     System.out.print(i+"*");
//                     a=a/i;
//                     i=2;
//                 }
//             }System.out.print(a);
        
//        一个数恰好等于它的因子之和,求1000内所有的完数
//
//         System.out.print("1000以内的所有完数有:"); 
//            for (int i = 2; i < 1000; i++) {// 遍历1000以内的所有整数 
//              int sum = 0;// 定义和变量 
//              for (int j = 1; j < i; j++) { 
//                if (i % j == 0) {// 满足是i的因子,就累加 
//                  sum += j; 
//                } 
//              } 
//              if (sum == i) {// 满足因子之和等于i就打印该完数 
//                System.out.print(i + ","); 
//              } 
//            } 
//          

猴子吃桃用递归来做

 public int getday(int n){
         if(n==1) {
             return 1;
         }else {
             return (getday(n-1)+1)*2;
         }
     }

 

posted @ 2021-07-20 17:09  静静奇女子  阅读(257)  评论(0)    收藏  举报