首页 > 编程语言 >Java学习笔记 黑马微项目二

Java学习笔记 黑马微项目二

时间:2024-12-03 21:04:47浏览次数:8  
标签:Java String ArrayList System 笔记 println new 黑马 out

1 随机点名器 1

代码实现:

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

public class shu20_1 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        Scanner sc = new Scanner(System.in);
        System.out.println("需要添加多少个学生");
        int n = sc.nextInt();
        sc.nextLine();
        while (n-- > 0) {
            System.out.println("输入学生姓名:");
            String s = sc.nextLine();
            list.add(s);

        }

        System.out.println(list);
        Random rand = new Random();
        int i = rand.nextInt(list.size());
        String s = list.get(i);
        System.out.println(s);
    }
}

注意事项

2 随机点名器 2

代码实现:

public class Students {
    private String name;
    private String sex;

    public Students(String name, String sex) {
        this.name = name;
        this.sex = sex;
    }

    public Students() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "姓名:"+name+" 性别:"+sex;
    }
}

方法调用:

import itheima.shu20.s5.Students;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
import java.util.Scanner;

public class shu20_2 {
    static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("这是一个学生点名系统");
        System.out.println("请输入学生人数");
        int a = input.nextInt();
        input.nextLine();
        //定义三个集合分别存储学生,男学生,女学生
        ArrayList<Students> s = new ArrayList<>();
        ArrayList<Students> s1 = new ArrayList<>();
        ArrayList<Students> s2 = new ArrayList<>();
        while (a-- > 0) {
            Students students = new Students();
            System.out.printf("输入姓名 %d号:", 3 - a);
            students.setName(input.nextLine());
            System.out.printf("输入性别 %d号:", 3 - a);
            students.setSex(input.nextLine());
            System.out.println();
            s.add(students);
        }
        for (int i = 0; i < s.size(); i++) {
            if (s.get(i).getSex().equals("男")) {
                s1.add(s.get(i));
            } else {
                s2.add(s.get(i));
            }
        }
        System.out.println(s);

        ArrayList<Integer> list = new ArrayList<>();
        Collections.addAll(list, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0);
        Collections.shuffle(list);
        Integer i = list.get(0);
        Random r = new Random();
        if (i == 0) {
            int i2 = r.nextInt(s2.size());
            Students students = s2.get(i2);
            System.out.println("最后点了" + students);
        } else {
            int i1 = r.nextInt(s1.size());
            Students students = s1.get(i1);
            System.out.println("最后点了" + students + "同学");
        }


    }
}

3 随机点名器 3

代码实现:

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

public class shu20_3 {
    static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("下面是一个点名器");
        System.out.print("输入学生人数:");
        int n = input.nextInt();
        input.nextLine();
        ArrayList<String> list0 = new ArrayList<>();
        ArrayList<String> list1 = new ArrayList<>();
        while (n-- > 0) {
            list0.add(input.nextLine());
        }
        Random r = new Random();
        while (!list0.isEmpty()) {
            System.out.println("输入1 开始点名 \n输入2 退出");
            if (input.nextInt() == 1) {
                int i = r.nextInt(list0.size());
                System.out.println("点到了" + list0.get(i));
                System.out.println();
                //原集合删除元素,另一个集合添加进去
                list1.add(list0.get(i));
                list0.remove(i);
                //如果集合中的人全点完了,那就将两个集合互换进行下一轮操作
                if (list0.isEmpty()) {
                    list0 = new ArrayList<>(list1);
                    list1 = new ArrayList<>(list0);
                }
            } else {
                System.exit(0);
            }
        }
    }
}

标签:Java,String,ArrayList,System,笔记,println,new,黑马,out
From: https://blog.csdn.net/2302_79847831/article/details/144222194

相关文章

  • java与数据库连接实践项目留言板。
        一、Msg的实体类/***消息类,用于表示一条消息的基本信息。*/publicclassMsg{/***消息的唯一标识符。*/privateintid;/***消息的作者。*/privateStringauthor;/***消息的内容。*/......
  • 初识C语言学习笔记
    ......
  • java从入门到起飞 day02
    day02注释为什么要有注释?注释的存在是为了解释一大段代码,注释内的内容不会被编译运行注释的多种格式单行注释多行注释文档注释publicclassMain{publicstaticvoidmain(String[]args){//这是单行注释,System.out.println("这一行(第三行)代码会......
  • 欧拉路/欧拉回路 学习笔记【未完工】
    判定有向图首先这张图将所有的有向边转为无向边之后图连通。反例:其次,我们知道当且仅当所有点的入度和出度都相等,才会有欧拉回路。因为一个点进去之后一定会出来,所以入度一定等于出度。同理,我们也可以知道入度和出度差\(1\)时,才会有欧拉路。因为不要从起点走回起点,所以起点......
  • 免费送源码:Java+B/S+My eclipse+MySQL Springboot 连锁超市零售管理系统 计算机毕业设
         摘 要在网络信息的时代,众多的软件被开发出来,给用户带来了很大的选择余地,而且人们越来越追求更个性的需求。在这种时代背景下,超市零售管理只能以用户为导向,按品种小批量组织生产,以产品的持续创新作为超市零售管理最重要的竞争手段。系统采用了B/S结构,将所有业务......
  • 计算机毕业设计原创定制(免费送源码):Java+ssm+JSP+Ajax+MySQL SSM汽车租赁管理系统
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对汽车租赁信息管理等问题,对其进行研究分析,然后开发设计出汽车租赁管理系统以解决问题。汽车......
  • AdonisUI试用笔记
    源码网址:https://github.com/benruehl/adonis-ui?tab=readme-ov-file官方文档:https://benruehl.github.io/adonis-ui/docs/getting-started/introduction/安装Install-PackageAdonisUIInstall-PackageAdonisUI.ClassicTheme资源引用<Applicationxmlns:adonisUi="clr-na......
  • Java 分支结构 - if…else/switch
    顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。Java有两种分支结构:if语句switch语句if语句一个if语句包含一个布尔表达式和一条或多条语句。语法If语句的用语法如下:if(布尔表达式){//如果布尔表达式为true将执行的语句}如果布尔表达式的值为true......
  • java中的TreeMap
    文章目录TreeMapremove操作TreeMap实现了SortedMap接口,会按照key的大小顺序对Map中的元素进行排序,`key`的排序规则可以根据其自身的自然顺序也可以通过构造器传入比较器。底层通过**红黑树**实现。红黑树是一种近似平衡的二叉查找树,它**能确保任何一个节点的左右......
  • Java中ArrayList
    文章目录ArrayListarrayList的自动扩容机制Fail-Fast操作ArrayListList接口特征:有序性:list中的元素是按照他们被添加的顺序存储的,可以通过索引来访问list中的元素。可重复性:list中可存储重复的元素索引访问:可以根据元素的索引值来访问list中的元素。支持迭......