StringBuffer
使用StringBuffer对象中得append()方法添加26个小写字母,要求每次只能添加一个,共添加26次,然后按照逆序方式输出,最后删除前5个数字。
public class JavaAPIDemo {
    public static void main(String[] args) {
        StringBuffer sbf = new StringBuffer();
        for (int i = 'a'; i <= 'z'; i++) {
            sbf.append((char)i);//添加字母
        }
        sbf.reverse();//数据反转
        sbf.delete(0,5);//删除
        System.out.println(sbf);
    }
}
运行结果:
utsrqponmlkjihgfedcba
Random
- 使用Random类产生指定数量得,1~30之间(包括1和30)得随机数
 
import java.util.Arrays;
import java.util.Random;
public class JavaAPIDemo {
    public static void main(String[] args) {
        System.out.println("方法一:"+Arrays.toString(createRandom(5)));
        System.out.println("方法二:"+Arrays.toString(createRandom2(5)));
    }
    /**
     * Math.random()产生一个[0,1)之间的随机数
     * @param len
     * @return
     */
    public static int[] createRandom(int len){
        int[] data = new int[len];//需要得数据的个数
        for (int x = 0; x < len; x++) {
            data[x] = (int) (Math.random()*30+1);
        }
        return data;
    }
    /**
     * Random创建的对象产生一个[0,x)之间的随机数,x为要创建随机数的范围
     * @param len 传入的数据
     * @return
     */
    public static int[] createRandom2(int len){
        int[] data = new int[len];//需要得数据的个数
        Random random = new Random();
        for (int x = 0; x < len; x++) {
            data[x] = random.nextInt(30)+1;
        }
        return data;
    }
}
运行结果:
方法一:[24, 2, 30, 18, 29]
方法二:[15, 21, 1, 2, 19]
- 编写程序,用0~1之间的随机数来模拟扔硬币实验,统计扔1000次后出现正、反面的次数并输出。
 
import java.util.Arrays;
import java.util.Random;
public class JavaAPIDemo {
    public static void main(String[] args) {
        //产生1000个随机数
        int[] random = createRandom(1000);//产生1000个随机数,1表示硬币正面
        int[] res = new int[2];//保存0和1的数
        for (int tem:random) {
            res[tem]++;
        }
        System.out.println(Arrays.toString(res));
    }
    /**
     * Random创建的对象产生一个[0,x)之间的随机数,x为要创建随机数的范围
     * @param len 传入的数据
     * @return
     */
    public static int[] createRandom(int len){
        int[] data = new int[len];//需要得数据的个数
        Random random = new Random();
        for (int x = 0; x < len; x++) {
            data[x] = random.nextInt(2);//只能产生0和1两个随机数
        }
        return data;
    }
}
为了提高程序的可扩展性,可以将方法重新定义到一个类当中
import java.util.Random;
public class JavaAPIDemo {
    public static void main(String[] args) {
       Coin.throwCoin(1000);
        System.out.println("正面出现的次数:"+Coin.getPositive());
        System.out.println("背面出现的次数:"+Coin.getBack());
    }
}
class Coin{
    private static int positive;//硬币正面
    private static int back;//硬币背面
    private Coin(){}
    /**
     * 扔硬币
     * @param number 扔硬币的次数
     */
    public static void throwCoin(int number){
        Random random = new Random();
        for (int x = 0; x < number; x++) {
            if (random.nextInt(2) == 0) {
                back++;
            } else {
                positive++;
            }
        }
    }
    public static int getPositive() {
        return positive;
    }
    public static int getBack() {
        return back;
    }
}
运行结果:
正面出现的次数:504
背面出现的次数:496
正则表达式
- 验证邮箱格式
 
public class JavaAPIDemo {
    public static void main(String[] args) {
        String email = "2222@qq.cn1";
        System.out.println(verifyEmail.isEmail(email));
    }
}
class verifyEmail{
    private verifyEmail(){}//对象私有化
    public static boolean isEmail(String email){
        if (email ==null || "".equals(email))
            return false;
        String regex  = "[a-zA-Z0-9]\\w+@\\w+\\.(com|cn|net|gov)";
        return email.matches(regex);
    }
}
- 验证ip地址
 
public class JavaAPIDemo {
    public static void main(String[] args) {
        String ip1 = "255.255.255.255";
        System.out.println(Validator.validateIP(ip1));
        String ip2 = "299.299.299.299";
        System.out.println(Validator.validateIP(ip2));
    }
}
class Validator{
   public static boolean validateIP(String ip){
       if (ip == null || "".equals(ip)){
           return false;
       }
       String regex = "([12]?[0-9]?[0-9]\\.){3}([12]?[0-9]?[0-9])";
       if (ip.matches(regex)){//验证通过
           String[] result = ip.split("\\.");//拆分数据
           for (int x = 0; x < result.length; x++) {
               int temp = Integer.parseInt(result[x]);
               if (temp>255){
                   return false;
               }
           }
           return true;
       }else {
           return false;
       }
   }
}
运行结果:
true
false
- Html拆分处理
 
拆分:<font face=\"Arial,Serif\" size=\"+2\" color=\"red\">
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class JavaAPIDemo {
    public static void main(String[] args) {
        String str = "<font face=\"Arial,Serif\" size=\"+2\" color=\"red\">'";
        String regex = "\\w+=\"[a-zA-Z0-9,\\+]+\"";
        Matcher matcher = Pattern.compile(regex).matcher(str);
        while (matcher.find()){
            String temp = matcher.group(0);
            String[] res = temp.split("=");
            System.out.println(res[0]+" "+res[1].replaceAll("\"",""));
        }
    }
}
运行结果:
face Arial,Serif
size +2
color red