您的位置 首页 java

案例教学!三大案例回顾 JAVA 类库相关知识

我们已经对其基本概念与简单使用有了一个较为全面的了解,现在让我们一起来结合具体的一些案例巩固一下StringBuffer类和Random类的相关内容吧。

【本节目标】 通过阅读本节内容,你将结合相关案例场景进行功能实现,复习StringBuffer类,完成对字符串的各种操作与随机,复习Random类并实现抛硬币的小demo,进一步理解与掌握其使用方法。

StringBuffer使用

类库案例分析一

定义一个StringBuffer类对象,然后通过append()方法向对象添加26个小写字母,要求每次只添加一个,共添加26次,然后按照逆序的方式输出,然后删除前5个字符。

本操作主要是训练StringBuffer类中的处理方法,因为StringBuffer的主要特点是允许修改。

 public class JavaAPIDemo {
    public static void main(String[] args) throws Exception{
        StringBuffer buf=new StringBuffer();
        for (int x='a';x<='z';x++){     //直接循环设置
           buf.append((char)x);  //保存字符
        }
        buf.reverse().delete(0,5);   //反转处理
        System.out.println(buf);  //utsrqponmlkjihgfedcba
    }
}  

因为StringBuffer的内容是允许修改的,而String内容不允许修改,现在的程序是一个单线程的开发,所以不需要去考虑所谓的并发访问问题。

随机数组

类库案例分析二

利用Random类产生5个1~30之间(包括1和30)的随机整数。

Random产生随机数的操作之中会包含有数字0,所以此时不应该存在有数字0。

 import java.util.Arrays;
import java.util.Random;
public class JavaAPIDemo {
    public static void main(String[] args){
        int result [] =NumberFactory.create(5);
        System.out.println(Arrays.toString(result)) ;
    }
}  
class NumberFactory{
    private static Random random = new Random() ;
     /**
     * 通过随机数来生成一个数组的内容,该内容不包括有0
     * @param len 要开辟的数组大小
     * @return 包含有随机数的内容
     */
    public static int [] create(int len) {
        int data [] = new int[len] ;   //开辟新的数组
        int foot = 0;
        while (foot < data.length) {
             int num = random.nextInt(30) ;
             if(num != 0) {
                 data[foot ++]= num ; //保存数据
             }
        }
        return data;
    }
}  

执行结果: [4, 2, 7, 22, 12]

扔硬币

类库案例分析三

编写程序,用0~1之间的随机数来模拟扔硬币实验,统计扔1000次后出现正、反面的次数并输出。

 import java.util.Random;
public class JavaAPIDemo {
    public static void main(String[] args){
        Coin coin = new Coin();
        coin.throwCoin(1000);
        System.out.println("正面出现次数:"+ coin.getFront()+"、背面出现次数:"+ coin.getBack()) ;
    }
}
class Coin{     //模拟硬币扔的操作
    private int front ;   //保存正面次数
    private int back ;   //保存背面的次数
    private Random random = new Random();
    /**
     *扔硬币的处理
     * @param num 扔硬币的执行次数
     */
    public void throwCoin(int num) {
        for(int x=0; x < num; x ++) {
           int temp=random.nextInt(2);
           if (temp == 0) {
              this.front ++ ;
           }else {
               this.back ++ ;
           }
        }
     }
     public int getFront() {
         return this.front ;
     }
     public int getBack() {
         return this.back ;
     }
}  

执行结果: 正面出现次数:485、背面出现次数:515

来源:阿里云开发者社区

文章来源:智云一二三科技

文章标题:案例教学!三大案例回顾 JAVA 类库相关知识

文章地址:https://www.zhihuclub.com/173330.shtml

关于作者: 智云科技

热门文章

网站地图