演示StringBuffer的相关操作

本文详细介绍了Java中StringBuffer类的基本用法,包括字符串的插入、追加、长度与容量的管理,以及如何读取和修改StringBuffer对象中的字符。
Code:
  1. public class StringBufferDemo {   
  2.        
  3.     public StringBufferDemo(){   
  4. //      insertAndAppend();   
  5. //      lengthAndContent();   
  6.         readAndChange();   
  7.     }   
  8.        
  9.     /**  
  10.      * 演示插入和追加的相关操作  
  11.      */  
  12.     private void insertAndAppend(){   
  13.         StringBuffer s1 = new StringBuffer("Hello");   
  14.            
  15.         //append(String str)将指定的字符串追加到此字符序列。   
  16.         //其中的各种重载方法,就不一一赘述   
  17.         System.out.println(s1.append(",world"));   
  18.            
  19.         //insert(int offset, String str)将字符串插入此字符序列中。    
  20.         //offset - 偏移量;str - 一个 string。   
  21.         //其中的各种重载方法,就不一一赘述   
  22.         StringBuffer s2 = new StringBuffer("Hello");   
  23.         System.out.println(s2.insert(5",world"));   
  24.     }   
  25.        
  26.     /**  
  27.      * 演示StringBuffer的长度和容量相关操作  
  28.      */  
  29.     private void lengthAndContent(){   
  30.         StringBuffer s1 = new StringBuffer("Hello,world");   
  31.            
  32.         //length()返回长度(字符数)   
  33.         System.out.println(s1.length());   
  34.            
  35.         //capacity()返回当前容量。即内存空间数量。通常会大于length( )   
  36.         System.out.println(s1.capacity());   
  37.            
  38.         //setLength(int newLength)   
  39.         //newLength - 新长度,必须大于或等于 0。   
  40.         //改变s1中字符的个数,如果newLength大于原个数,则新添的字符都为空("");   
  41.         //相反,字符串中的最后几个字符将被删除。   
  42.         s1.setLength(7);   
  43.         System.out.println(s1);   
  44.     }   
  45.        
  46.     /**  
  47.      * 读取和改变StringBuffer对象中的字符  
  48.      * 读取StringBuffer对象中的字符的方法有:charAt和getChar,  
  49.      * 这与String对象方法一样,故不再赘述  
  50.      */  
  51.     private void readAndChange(){   
  52.         StringBuffer s1 = new StringBuffer("Hello,world");   
  53.            
  54.         //setCharAt(int index, char ch)将给定索引处的字符设置为 ch。   
  55.         //index - 要修改的字符的索引。ch - 新字符。   
  56.         s1.setCharAt(2'a');   
  57.         System.out.println(s1);   
  58.            
  59.         //replace(int start, int end, String str)   
  60.         //使用给定 String 中的字符替换此序列的子字符串中的字符。   
  61.         //start - 起始索引(包含);end - 结束索引(不包含);str - 将替换原有内容的字符串。   
  62.         System.out.println(s1.replace(25"dj"));   
  63.            
  64.         //delete(int start, int end)移除此序列的子字符串中的字符。   
  65.         //start - 起始索引(包含);end - 结束索引(不包含)   
  66.         StringBuffer s2 = new StringBuffer("Hello,world");         
  67.         System.out.println(s2.delete(13));   
  68.            
  69.         //deleteCharAt(int index)移除此序列指定位置的 char。此序列将缩短一个 char。   
  70.         //index - 要移除的 char 的索引    
  71.         StringBuffer s3 = new StringBuffer("Hello,world");   
  72.         System.out.println(s3.deleteCharAt(3));   
  73.   
  74.     }   
  75.   
  76.     /**  
  77.      * @param args  
  78.      */  
  79.     public static void main(String[] args) {   
  80.         new StringBufferDemo();   
  81.     }   
  82.   
  83. }  

 

先展示下效果 https://pan.quark.cn/s/a4b39357ea24 遗传算法 - 简书 遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。 遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解 依据某些适应性条件测算这些候选解的适应度 根据适应度保留某些候选解,放弃其他候选解 对保留的候选解进行某些操作,生成新的候选解 遗传算法流程 遗传算法的一般步骤 my_fitness函数 评估每条染色体所对应个体的适应度 升序排列适应度评估值,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的值越小越好) 从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。 抽取父母双方的染色体,进行交叉,产生 2 个子代。 (交叉概率) 对子代(parent + 生成的 child)的染色体进行变异。 (变异概率) 重复3,4,5步骤,直到新种群(parentnumber + childnumber)的产生。 循环以上步骤直至找到满意的解。 名词解释 交叉概率:两个个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。 变异概率:所有的基因中发生变异的占总体的比例。 GA函数 适应度函数 适应度函数由解决的问题决定。 举一个平方和的例子。 简单的平方和问题 求函数的最小值,其中每个变量的取值区间都是 [-1, ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值