Scanner类、Random类、ArrayList类

1、Scanner类

  Scanner类的作用是获得输入,下面代码用于获得用户的键盘输入

常用方法:

  1. String next():将输入信息的下一个标记扫描为一个字符串
  2. Int nextInt():将输入信息的下一个标记扫描为一个int
  3. Double nextDouble():将输入信息的下一个标记扫描为double
  4. String nextLine():扫描当前输入行

2、Random类

  Random类的作用是生成随机数

常用方法:

  1. int nextInt(int n):生成一个随机数,范围[0, n)
  2. double nextDouble():生成一个随机小数[0.0, 1.0)

 猜数字游戏

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

public class Demo1 {
    public static void main(String[] args){
        //使用Scanner类与Random类完成一个猜数字小游戏
        Scanner sc=new Scanner(System.in);
        //产生一个1--100之间的随机数
        Random r=new Random();
        int num=r.nextInt(100)+1;
        //定义一个用来统计用户猜对了多少次
        int count=0;
        //不断执行循环,让用户输入要猜的数字并进行大小提示
        do{
            System.out.println("输入猜的数字: ");
            int in=sc.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类

ArrayList是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。 ArrayList 中可不断添加元素,其大小也自动增长。

特性

  • 是可以动态修改的数组;
  • 没有固定大小的限制,可以添加或删除元素;
  • 继承了 AbstractList ,并实现了 List 接口。

注意事项
1.ArrayList集合它的元素可以删除,数组不行。
2.ArrayList结合与数组一致它的索引都是从0开始的。
3.数组是获取最大的元素的长度(固定不变)集合获取的就是当前存储元素的大小(在运行中可变的)
4.集合和数组区别:数组使用length计算器的长度;ArrayList集合使用size计算元素的大小

 不重复点名

import java.util.*;

public class Demo2 {
    public static void main(String[] args) {
        //使用list集合生成一个随机数组
        List<String> list = Arrays.asList("aa", "bb", "cc", "dd", "ff", "gg", "hh", "ii",
                "ss", "ee", "qq", "rr", "uu");
        //把list作为参数重新构建一个新的ArrayList集合
        ArrayList<String> names = new ArrayList<>(list);
        //使用random生成一个随机
        Random random = new Random();
        Scanner sc = new Scanner(System.in);
        while (true) {
            //如果集合没有元素
            if (names.size() == 0) {
                System.out.println("已抽查完");
                break;
            }
            System.out.println("请输入Y 或者 y");
            String input=sc.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;
            }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值