Java基础练习题10--[使用ArrayList获取10个随机数;String类型的ArrayList集合,去除ArrayList中的重复元素,模拟注册,登录存入集合]

Posted 小智RE0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础练习题10--[使用ArrayList获取10个随机数;String类型的ArrayList集合,去除ArrayList中的重复元素,模拟注册,登录存入集合]相关的知识,希望对你有一定的参考价值。


使用ArrayList获取10个1-20之间的随机数,要求不能重复

import java.util.ArrayList;
import java.util.Random;
public class ArrayListRandomNumber {
    public static void main(String[] args) {
        //创建数组;
        ArrayList arrayList=new ArrayList();
        //创建Random类;
        Random random = new Random();
        //定义次数标记;
        int number=0;
        //定义布尔值标记;
        boolean flag=true;
        while(flag){
            //随机取出1-20之间的数字;
            int r=random.nextInt(20)+1;
            //如果有重复的数字,则重新取随机数;
            if(!arrayList.contains(r)){
                arrayList.add(r);
                number++;
                //当存入10个数的时候,就停止循环;
                if(number==10){
                    flag=false;
                }
            }
        }
        //遍历获得集合;
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.print(arrayList.get(i)+" ");
        }
    }
}

String类型的ArrayList集合,去除ArrayList中的重复元素

import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListNotRepeat {
    public static void main(String[] args) {
        ArrayList arrayList=new ArrayList();
        arrayList.add("q");
        arrayList.add("q");
        arrayList.add("q");
        arrayList.add("q");
        arrayList.add("q");
        arrayList.add("w");
        arrayList.add("w");
        arrayList.add("w");
        System.out.println(arrayList);
        //定义字符串类型ArrayList集合;
        ArrayList<String> stringArrayList=new ArrayList<>();
        //遍历arraylist集合;将单独的元素存入集合stringArrayList;
        Iterator iterator=arrayList.iterator();
        while(iterator.hasNext()){
            String s= (String) iterator.next();
            if(!stringArrayList.contains(s)){
                stringArrayList.add(s);
            }
        }
        //遍历输出集合stringArrayList;
        for (int i = 0; i < stringArrayList.size(); i++) {
            System.out.print(stringArrayList.get(i)+" ");
        }
    }
}

在这里插入图片描述


模拟注册,登录 创建一个用户类(User)用户名(userName)密码(passWord)

选择注册操作时,提示输入用户名,密码,存入一个User对象,可以同时多个用户注册,使用集合存储注册的多个用户信息.||选择登录;提示输入用户名和密码进 与集合中已经存储的多个用户信息比较;;||成功提示 登录成功;||不成功提示用户名或密码错误.

import java.util.HashSet;
import java.util.Scanner;
public class LoginDemo {
    public static void main(String[] args) {
        oper();
    }
    //存储用户信息的集合;(HashSet不会存入重复信息);
    static HashSet<User> hashSet=new HashSet<>();
    //操作程序:
    public static void oper(){
        //这里写一个outer1标签来指定操作符,输入错误而就会跳转回来;
        outer:
        for (int i = 0; i <1000; i++) {
            System.out.println("选择操作功能:1.注册,2.登录,3退出");
            Scanner scanner=new Scanner(System.in);
            int opr = scanner.nextInt();
            while(true){
                switch (opr){
                    //注册:
                    case 1:
                        zhuce_ZH();
                        continue  outer;
                        //登录:
                    case 2:
                        denglu_ZH();
                        break;
                    //退出系统:
                    case 3:
                        System.out.println("退出系统.");
                        return;
                    //默认操作:
                    default:
                        System.out.println("操作符错误,重新输入.");
                        continue outer;
                }
            }
        }
    }
    //注册;
    public static void zhuce_ZH(){
        Scanner scanner=new Scanner(System.in);
        System.out.println("注册输入用户名:");
        String userName=scanner.next();
        System.out.println("注册输入密码:");
        String password=scanner.next();
        //存储用户信息;
        User user=new User(userName,password);
        hashSet.add(user);
    }
    //登录:
    public static void denglu_ZH(){
        Scanner scanner=new Scanner(System.in);
        System.out.println("登录输入用户名:");
        String userName=scanner.next();
        System.out.println("登录输入密码:");
        String password=scanner.next();
        //判断是否存在;;
        for(User user:hashSet){
            if((user.getUserName().equals(userName))&(user.getPassword().equals(password))){
                System.out.println("登录成功!");
            }else {
                System.out.println("账号密码错误");
            }
        }
    }
}

用户信息类:

//用户信息类;
public class User {
    //私有属性的userName和password;
    private String userName ;
    private String password;

    //重写toString方法
    @Override
    public String toString() {
        return "User{"+"用户名userName="+userName+"密码password="+password+'}';
    }
    //构造方法;
    //无参构造方法;
    public User() {
    }
    //有参数构造方法;
    public User(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }

    //get,set获取设置私有属性的方法
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

在这里插入图片描述


以上是关于Java基础练习题10--[使用ArrayList获取10个随机数;String类型的ArrayList集合,去除ArrayList中的重复元素,模拟注册,登录存入集合]的主要内容,如果未能解决你的问题,请参考以下文章

Java基础——ArrayList与LinkedList

Java基础练习-数组链表排序

[Java基础]List集合子类特点

JAVA基础知识之JVM-——集合练习

java基础(18):集合Iterator迭代器增强for循环泛型

蓝桥杯-基础练习 :java 数列排序问题