栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day15 Java StringBuffer类 习题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day15 Java StringBuffer类 习题

文章目录
      • 1. String 和 StringBuffer 的相互转换
      • 2. 把数组拼接成一个字符串(用StringBuffer实现)
      • 3. 把字符串反转,键盘录入字符串
      • 4. 判断回文


肯定的微笑
准备,往前出发




1. String 和 StringBuffer 的相互转换
 		//	String 转换至 StringBuffer
		String s = "fgh";
		
        StringBuffer s1 = new StringBuffer(s);
        StringBuffer s2 = new StringBuffer().append(s);
        
        System.out.println(s1);
        System.out.println(s2);
        
		//	StringBuffer 转换至 String
        StringBuffer sb = new StringBuffer("韭菜盒子");
        
        String sb1 = new String(sb);
        String sb2 = sb.toString();
        
        System.out.println(sb1);
        System.out.println(sb2);

2. 把数组拼接成一个字符串(用StringBuffer实现)
        char[] c = {'a','b','c','d'};

        StringBuffer sb = new StringBuffer();

        for (char element:c) {
            sb.append(element);
        }

        System.out.println(sb);

3. 把字符串反转,键盘录入字符串
  import java.util.Scanner;
  
        Scanner sc = new Scanner(System.in);
        String s = sc.next();

        StringBuffer sb = new StringBuffer(s);

        String s1 = sb.reverse().toString();

        System.out.println(s1);

4. 判断回文
 import java.util.Scanner;
 		
 		Scanner sc = new Scanner(System.in);
        String s = sc.next();
		
		//方式一
        char c[] = s.toCharArray();
        int head = 0;
        int tail = c.length - 1;
        boolean flag = true;

        for(; head <= tail; head++,tail--){

            if(c[head] != c[tail]){
                System.out.println("不是回文");
                flag = false;
                break;
            }

        }
        if(flag)
        System.out.println("是回文");

		//方式二
		StringBuffer sb = new StringBuffer();
        String s1 = sb.append(s).reverse().toString();
        //String 和 StringBuffer 不能做equals()比较
        //StringBuffer 没有重写 equals() 方法
        if(s.equals(s1)){
            System.out.println("是回文");
        }else{
            System.out.println("不是回文");
        }

    }

此处 flag 用于判断在循环被 break 时,是否触发输出最后一个 sout
对于此处的单方法,一可将 break 改为 return ,从而舍弃 flag 判断

String 和 StringBuffer 不能做equals()比较
因为 StringBuffer 没有重写 equals() 方法,仍然取的堆内存地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/315335.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号