一.Scanner类
1.Scanner类是什么
Scnner类是用于扫描输入文本的新的实用程序可以在程序中实现键盘输入
2.简介
Scanner类是java.util包中的一个类
3.作用
常用于控制台的输入,当需要使用控制台输入时即可调用这个类
4.Scanner类的使用
引用类型使用的一般步骤
(1)导包 import 包路径.类名称 (如果需要使用的类和当前类位于同一个包下,则可以省略包语句不写)
java.lang包下的内容不需要导包
(2)创建对象
(3)通过对象调用方法或者成员变量
import java.util.Scanner; //(1)
//System in代表键盘输入的意思
Scanner sc = new Scanner(System in); //(2)
//获取键盘上输入的一个int数字
int num = sc.nextInt(); //(3)
//获取键盘上输入的字符串
String str = sc.next() //(3)
键盘上输入的全是字符串,所以你如果要输入字符串的时候直接调用next()方法即可,而nextInt()方法本质是帮你把输入的字符串转换成int
二.Random类
1.Random是什么
Random类是一个随机数发生器用于生成随机数
2.Random类的使用
和Scanner一样也是三个步骤
import util.Random; //(1)导包
Random r = new Random(); //(2)创建对象
//(3)使用 获取一个随机数字:对象.nextInt()
int num = r.nextInt(); //获取随机数的范围是有正负两种
3.Random生成指定范围的随机数
对象.nextInt(int bound);
获得一个随机int数字(参数代表了范围,左闭右开区间)
int num = r.nextInt(3) + 1;
//这取的随机数的范围是[1,4)
4.代码案例:猜数字游戏
public static void main(String[] args) {
//使用Scanner和Random完成一个猜数字的小游戏,随机生成一个人1-100之间的数字,
//然后用户猜数字,大了提示数字猜大了,小了提示数字猜小了,猜对则统计猜的次数
Scanner sc=new Scanner(System.in);
Random random=new Random();
int num=random.nextInt(100)+1; //生成0-99
//统计猜对的次数
int count=1;
//使用死循环进行猜数字,直到猜对结束循环
do {
//用户输入的数字
System.out.println("请输入你的数字:");
int input= sc.nextInt();
//判断猜的大小
if(input>num){
System.out.println("数字猜大了!");
} else if (input<num) {
System.out.println("数字猜小了!");
}else {
System.out.println("恭喜你猜对了!");
break;
}
count++;
}while (true);
System.out.println("本次游戏共猜了:"+count+"次");
//关闭资源
sc.close();
}
三.ArrayList类
1.ArrayList 类是什么
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,可以随着元素的增加而增长,内部封装了丰富的增删改查功能,我们可以添加或删除元素
2.ArrayList类的使用
1.ArrayList 类位于 java.util 包中,使用前需要引入它
import java.util.ArrayList; // 引入 ArrayList 类
ArrayList<E> objectName =new ArrayList<>(); // 初始化
注意:泛型数据类型,用于设置 objectName 的数据类型,只能为引用数据类型。
objectName: 对象名
3.添加元素add()
package Demo;
import java.util.ArrayList;
public class DemoArraylistEach {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("王俊凯");
list.add("王源");
list.add("易烊千玺");
System.out.println(list);
}
}
4.删除元素remove()
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Runoob");
sites.add("Taobao");
sites.add("Weibo");
sites.remove(3); // 删除第四个元素
System.out.println(sites);
}
}
四.不重复的点名程序
public class text01 {
public static void main(String[] args) {
List<String> list = Arrays.asList("1","2","3","4","5","6");
ArrayList<String> names= new ArrayList<>(list);
Random random= new Random();
Scanner sc= new Scanner(System.in);
while (true){
if (names.size()==0){
System.out.println("本次点名结束,请重新开始");
}
System.out.println("点名请输入Y/y");
String input=sc.next();
if (input.equals("Y")||input.equals("y")){
int index=random.nextInt(names.size());
String name=names.get(index);
System.out.println(name+"---天选之人");
names.remove(index);
}else {
System.out.println("点名抽查,欢迎下次使用");
break;
}
}
}
}