ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Random类、ArrayList类

2022-08-19 11:34:51  阅读:188  来源: 互联网

标签:int ArrayList Random objects 类型 public


Random类


什么是Random类


  • 此类的实例用于生成伪随机数。
    • 例如,以下代码使用户能够得到一个随机数:
Random r = new Random();
int i = r.nextInt();

Random使用步骤


  • 注意!备注:创建一个 Random 对象,每次调用 nextInt() 方法,都会生成一个随机数。
小游戏

  • 游戏开始时,会随机生成一个1-100之间的整数 number 。玩家猜测一个数字guessNumber ,会与 number 作比较,系统提示大了或者小了,直到玩家猜中,游戏结束。
  • 小贴士:先运行程序代码,理解此题需求,经过分析后,再编写代码
package com.zhou;  
  
//生成随机数  
import java.util.Random;  
import java.util.Scanner;  
  
public class day0818 {  
    public static void main(String[] args) {  
        //createRandom();  
        guessNum();  
  
  
    }  
    //生成0~10随机十个数字  左闭右开  
    public static void createRandom() {  
        Random rd = new Random();  
  
        for (int i = 0;i<10;i++) {  
            int num = rd.nextInt(10);//[0,10)  
            System.out.println(num);  
  
        }  
    }  
    //生成一个1~100的数字,猜测数字的小游戏 左闭右开  
    public static void guessNum() {  
        Random rd = new Random();  
        Scanner sc = new Scanner(System.in);  
        int number = rd.nextInt(100)+1;//[1,100)  
        int count = 1;  
        while (true) {  
            System.out.println("请输入你要猜的数字");  
            System.out.println("===================");  
            int guessNum = sc.nextInt();  
            if (guessNum>number) {  
                System.out.println("你猜的数字太大了");  
                System.out.println("===================");  
            }else if (guessNum<number) {  
                System.out.println("你猜的数字太小了");  
                System.out.println("===================");  
            }else {  
                System.out.println("恭喜你,只用了"+count+"次就答对了!!!真棒!");  
  
                break;  
            }  
            count++;  
        }  
    }  
}

ArrayList类


  • 到目前为止,我们想存储对象数据,选择的容器,只有对象数组。而数组的长度是固定的,无法适应数据变化的需 求。为了解决这个问题,Java提供了另一个容器 java.util.ArrayList 集合类,让我们可以更便捷的存储和操作对象数据.

什么是ArrayList类


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

  • 基本格式
    ArrayList<String> list = new ArrayList<String>(); Jdk 7后,右侧泛型的尖括号之内可以留空,但<>仍要写。 ``ArrayList<String> list = new ArrayList<>();

  • 成员方法

    1. public boolean add(E e) 往容器中添加指定类型的数据---将指定元素添加到此集合的尾部。
    2. public E remove(int index) 删除此集合中指定位置上的元素。
    3. public E get(int index) 返回此集合中指定位置上的元素。
    4. public int size():返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
    5. public set(int index,E element)修改指定位置索引的值
    • 小贴士:E:指定类型
package com.zhou.day0819;  
  
//ArrayList  
import java.util.ArrayList;  
  
public class Demo01 {  
    public static void main(String[] args) {  
        //使用ArrayList API  
  
        //ArrayList  成员方法   1.add()   往容器中添加指定类型的数据  
        ArrayList<Object> objects = new ArrayList<>();//<>表明当前类型可以存放什么类型的数据,如果不指定则什么都能放  
        objects.add(10);//int  
        objects.add("aaa");//String  
        objects.add(1.1);//double  
        System.out.println("=========");  
  
  
        //2.public E remove(int index) 从容器中删除数据,根据数组的索引编号  
        Object re = objects.remove(1);  
        System.out.println(re);//aaa  
  
        //3. public int size():返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。  
        int s = objects.size();  
        System.out.println(s);  
        for (int i = 0;i<objects.size();i++) {  
            System.out.println(objects.get(i));  
        }  
        System.out.println("=========================");  
  
        //4.public E get(int index) 返回此集合中指定位置上的元素。  
        Object o = objects.get(0);  
        System.out.println(o);  
  
        //5.public set(int index,E element)修改指定位置索引的值  
        Object se = objects.set(0, "小周真帅!!!");  
        System.out.println(se);  
  
  
    }  
}

如何储存基本数据类型


  • ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 **不能写,但是存储基本数据类型对应的包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:
基本类型 基本类型包装类
byte Byte
short Short
int Integer
long Lonf
float Float
double Double
char Character
boolean Boolean

标签:int,ArrayList,Random,objects,类型,public
来源: https://www.cnblogs.com/xzandjava/p/16601404.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有