Scanner、Random、ArrayList的基本使用,最后完成一个不重复的点名程序
Scanner、Random、ArrayList的基本使用
Scanner 的基本用法
java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。
使用Scanner的next方法获取输入内容
next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4、 next() 不能得到带有空格的字符串。
import java.util.Scanner;
public class scannerTest {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.println("请输入内容");
String s=sc.next();
System.out.println("你输入的内容是:"+s);
}
}
Random 的基本用法
Random():创建一个新的随机数生成器。
import java.util.Random;
import java.util.Scanner;
public class scannerTest {
public static void main(String[] args) {
//创建一个随机数生成器
Random rd=new Random();
//获取生成的随机数范围在[0,10)的整数
int i=rd.nextInt(10);
System.out.println(i);
}
}
ArrayList 的基本用法
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
ArrayList 继承了 AbstractList ,并实现了 List 接口。
ArrayList 是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。
添加元素
ArrayList 类提供了很多有用的方法,添加元素到 ArrayList 可以使用 add() 方法:
public static void main(String[] args) {
//创建一个ArrayList数组
ArrayList<String> list = new ArrayList<String>();
//向数组内添加数据
list.add("张三");
list.add("李四");
list.add("王二");
list.add("麻子");
//打印
System.out.println(list);
}
如果要修改 ArrayList 中的元素可以使用 set() 方法:
格式为set(索引位置,修改的值)
public static void main(String[] args) {
//创建一个ArrayList数组
ArrayList<String> list = new ArrayList<String>();
//向数组内添加数据
list.add("张三");
list.add("李四");
list.add("王二");
list.add("麻子");
list.set(2,"赵六");//格式为set(索引位置,修改的值)
//打印
System.out.println(list);
}
如果要删除 ArrayList 中的元素可以使用 remove() 方法:
public static void main(String[] args) {
//创建一个ArrayList数组
ArrayList<String> list = new ArrayList<String>();
//向数组内添加数据
list.add("张三");
list.add("李四");
list.add("王二");
list.add("麻子");
list.set(2,"赵六");//格式为set(索引位置,修改的值)
list.remove(3);//格式 remove(索引位置) ;删除第四个元素
//打印
System.out.println(list);
}
完成一个不重复的点名程序
import java.util.*;
public class Main {
public static void main(String[] args) {
//使用Arrays把数据转换成 集合,这个是一个固定数组形式
List<String> list = Arrays.asList("张三","李四","王五","麻子","赵六");
///通过构造方法创建名单集合
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")){
//获取一个随机数范围是names数组的长
int index = random.nextInt(names.size());
//获取索引
String name = names.get(index);
System.out.println(name+"----为天选之人");
//删除当前索引
names.remove(index);
}else{
System.out.println("结束点名,欢迎下次使用");
break;//结束循环
}
}
}
}