使用案例回顾类库相关知识(上) | 带你学《Java语言高级特性》之四十三

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

上一篇:使用红黑树实现节点增减的平衡修复 | 带你学《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的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:使用案例回顾类库相关知识(中) | 带你学《Java语言高级特性》之四十四
更多Java面向对象编程文章查看此处

相关文章
|
1月前
|
Java Maven
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
该博客文章介绍了如何使用Java Swing中的JFrame创建一个窗体来收集用户输入的内容,并提供了详细的实现步骤和完整代码示例。
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
|
1月前
|
人工智能 Java 定位技术
人工智能ChatGPT 体验案例:使用ChatGPT实现java扫雷小游戏
这篇文章通过一个使用ChatGPT实现的Java扫雷小游戏案例,展示了ChatGPT在编程领域的应用能力。文章中包含了扫雷游戏的Java代码实现,代码中初始化了雷区地图,随机放置雷,计算每个格子周围雷的数量,并提供了一个简单的文本界面与用户交互进行游戏。游戏通过控制台输入接受玩家的指令,并给出相应的反馈。
人工智能ChatGPT 体验案例:使用ChatGPT实现java扫雷小游戏
|
1月前
|
监控 算法 安全
Java并发编程案例分析:死锁的检测与解决
Java并发编程案例分析:死锁的检测与解决
23 2
|
1月前
|
安全 Java API
精通 Java 后台开发:案例分析与实践
精通 Java 后台开发:案例分析与实践
36 2
|
1月前
|
Java
Java枚举使用的基本案例
这篇文章是关于Java枚举的基本使用,通过一个指令下发的代码案例,展示了如何定义枚举、使用枚举以及如何通过枚举实现指令的匹配和处理。
|
1月前
|
设计模式 Java
常用设计模式介绍~~~ Java实现 【概念+案例+代码】
文章提供了一份常用设计模式的全面介绍,包括创建型模式、结构型模式和行为型模式。每种设计模式都有详细的概念讲解、案例说明、代码实例以及运行截图。作者通过这些模式的介绍,旨在帮助读者更好地理解源码、编写更优雅的代码,并进行系统重构。同时,文章还提供了GitHub上的源码地址,方便读者直接访问和学习。
常用设计模式介绍~~~ Java实现 【概念+案例+代码】
|
1月前
|
前端开发 Java 测试技术
综合案例【商品管理系统-Java基础版】(附完整源码)
综合案例【商品管理系统-Java基础版】(附完整源码)
84 9
|
1月前
|
Java
Java数组的2个小案例(杨辉三角分析和商品管理增删改查)
Java数组的2个小案例(杨辉三角分析和商品管理增删改查)
45 4
|
1月前
|
安全 Java
Java RMI技术详解与案例分析
在实际的银行系统中,当然还需要考虑安全性、事务性、持久性以及错误处理等多方面的因素,RMI的网络通信也需要在安全的网络环境下进行,以防止数据泄露或被篡改。你在应用中是怎么使用 RMI 的,欢迎关注威哥爱编程,一起交流一下哈。
153 4
|
1月前
|
Rust JavaScript Java
简单对比Java、Python、Go、Rust等常见语言计算斐波拉契数的性能
简单对比Java、Python、Go、Rust等常见语言计算斐波拉契数的性能