Scanner、Random和 ArrayList集合

本文介绍了Java编程中Scanner类用于用户输入,Random类生成随机数,以及ArrayList集合的操作。通过猜数字游戏和点名程序展示了这三个核心组件的使用方法,包括ArrayList的动态扩容、元素添加与删除等特性。同时,讨论了ArrayList的优缺点,如快速访问和遍历,但插入和删除效率较低。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Scanner类

   Scanner类的作用是获取用户的输入

常用方法:

2、Random类

  Random类的作用是生成随机数 

常用方法:

 案例:

package com.test;

import java.util.Random;
import java.util.Scanner;

public class RandomTest {
    public static void main(String[] args) {
        //使用Scanner和Random完成一个猜数字小游戏 ,猜1-100之间的数字
        Scanner scanner=new Scanner(System.in);
        //1.产生一个1-100之间的随机数
        Random random=new Random();
        int num=random.nextInt(100)+1;//随机10个数字0-99,然后+1,就是1-100
        //定义一个用来统计用户猜对用了多少次
        int count=0;
        //2.不断执行循环,让用户输入要猜的数字并进行大小提示
        do{
            System.out.println("输入猜的数字:");
            int in=scanner.nextInt();
            if(in>num){
                System.out.println("猜大了");
            }else if(in<num){
                System.out.println("猜小了");
            }else{
                System.out.println("恭喜你,猜对了");
                break;
            }
            count++;
        }while(true);
        //结束循环表示用户猜对
        System.out.println("你猜对数字"+num+"用了"+count+"次");
    }
}

3、ArrayList集合

1.ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。

2.对于ArrayList来说有一个尖括号<E>代表泛型。泛型也就是装在集合当中所有的元素,都是统一的什么类型。

注意:泛型只能是引用类型(   Byte 、 Short 、Integer、Long 、Float 、Double 、Character、 Boolean),不能是基本类型(byte int short long float double boolean char)

常用方法:

 案例

package com.test01;

import java.util.*;

public class Test01 {
    public static void main(String[] args) {
        //可以使用Arrays
        List<String> list= Arrays.asList("","","");
        //把list作为参数重新构建一个新的ArrayList集合
        ArrayList<String> names=new ArrayList<>(list);
        //使用Scanner、Random、ArrayList完成一个不重合的点名程序
        Random random=new Random();
        Scanner scanner=new Scanner(System.in);
        while (true){
            //如果集合没有元素了,则结束循环
            if(list.size()==0){
                System.out.println("已完成所有学生抽查,抽查结束请重新开始!");
                break;
            }
            System.out.println("确认点名输入Y/y");
            String input=scanner.next();
            if(input.equals("Y") || input.equals("y")){
                //随机一个集合的下标
                int index=random.nextInt(names.size());
                System.out.println("本次抽到:"+names.get(index));
                //该学生已被抽到,把他从集合中移除
                names.remove(index);
            }else{
                System.out.println("本次抽查结束");
                break;
            }
        }
    }
}

自动装箱:基本类型-->包装类型

自动拆箱:包装类型-->基本类型

3、ArrayList数组的优缺点 

因为ArrayList底层使用数组实现,所以优缺点与数组类似。

优点:

1、根据下标遍历元素效率较高。

2、根据下标访问元素效率较高。

3、在数组的基础上封装了对元素操作的方法。

4、可以自动扩容。

缺点:

1、插入和删除的效率比较低。

2、根据内容查找元素的效率较低。
 

### 扣子智能体平台功能与使用说明 #### 平台概述 扣子Coze)是由字节跳动推出的一款面向终端用户的智能体开发平台[^3]。该平台支持用户通过零代码或低代码方式快速构建基于人工智能大模型的各种智能体应用,并能够将其部署至其他网站或者通过 API 集成到现有的系统中。 #### 快速搭建智能体 无论是具备还是缺乏编程基础的用户,都能够借助扣子平台迅速创建一个 AI 智能体。例如,可以参照一篇教程中的实例来学习如何打造一个解决日常生活问题的小助手[^1]。这不仅降低了技术门槛,还使得更多的人有机会参与到智能化工具的设计过程中去。 #### 插件系统的利用 为了进一步增强所建智能体的能力,在其技能配置环节可加入不同类型的插件。一旦添加成功,则可以在编写提示语句的时候直接调用这些插件,亦或是融入自动化流程里实现更复杂操作逻辑的目的[^2]。这种灵活运用外部资源的方法极大地拓宽了单个智能体所能覆盖的应用场景范围。 ```python # 示例:假设我们有一个简单的 Python 脚本用于模拟调用某个插件功能 def call_plugin(plugin_name, parameters): result = f"Plugin {plugin_name} called with params: {parameters}" return result example_call = call_plugin("weather", {"location": "Beijing"}) print(example_call) ``` 上述代码片段仅作为概念展示之用,实际情况下具体实现会依据官方文档指导完成。 #### 总结 综上所述,扣子智能体平台提供了便捷高效的途径让用户无需深厚编码背景即可打造出满足特定需求的AI解决方案;同时它开放性强允许接入第三方服务从而提升整体性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值