幼儿园分班问题 【Java】

该博客讨论了如何使用Java解决幼儿园分班问题。给定每个小朋友与其前一个是否同班的信息,任务是将同班小朋友分组并按编号升序排列。博主提供了输入描述、输出要求以及解题思路,包括创建表示小朋友位置的对象、统计班级编号、将小朋友分到两个集合以及处理输入异常的情况。
摘要由CSDN通过智能技术生成

幼儿园分班问题 【Java】

题目描述

幼儿园两个班的小朋友在排队时混在了一起,每位小朋友都知道自己是否与前面一位小朋友是否同班,请你帮忙把同班的小朋友找出来。

小朋友的编号是整数,与前一位小朋友同班用Y表示,不同班用N表示。

输入描述

输入由空格分开的小朋友编号和是否同班的标志,如:

6/N 2/Y 3/N 4/Y 表示一共有4位小朋友

2和6是同班,3和2不同班,4和3同班。

小朋友总数<999

不考虑输入格式错误。

输出描述

输出每个班级的小朋友编号,用空格隔开

输出结果按编号大小升序排列

第一个分班的小朋友编号较小的排在第一队,输出在第一行

若只有一个班级,则第二行为空

若输入不符合要求,则输出“ERROR"

示例1

  • 输入

    1/N 2/Y 3/N 4/Y
    
  • 输出

    1 2
    3 4
    
  • 说明

    2和1同一班,3与2不是同一个班,4和3同一班
    

解题思路

  1. 用一个对象表示一个小朋友在队伍的位置信息,然后统计每个小朋友的班级编号
  2. 分班到两个集合
  3. 对输出要求进行输出即可,注意排序
  4. 对输入异常(编号不能小于0,不能大于999)时,结束程序,并输出ERROR

代码

import java.util.*;

public class Main {
   
    public static void main(String[] args) {
   
        // 处理输入
        Scanner input = new Scanner(System.in);
        String line = input.nextLine();
        String[] split = line.split(" ");
        Node[] nodes = new Node[split.length];
        boolean isFailed = false;
        for (int i = 0; i < split.length; i++) {
   
            String[
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为OD是指华为公司的开发者岗位,该岗位需要掌握Java编程语言。对于分班Java华为OD,首先需要明确的是OD是指华为公司的岗位和职位的关系,分班则是指根据不同的条件把人员进行分类安排。 在分班Java华为OD,可以根据以下条件进行分类: 1. Java编程能力:根据个人对Java语言的掌握程度,将人员分为基础、中级和高级。这样可以确保每个级中的学员具有相似的基础,便于进行教学和培训。 2. 经验与项目经历:根据个人的工作经验和项目经历,可以将学员分为有相关经验和项目经历的一类,以及没有相关经验的另一类。这样可以根据实际情况分配不同的课程内容和项目任务。 3. 学习目标和职业规划:根据个人的学习目标和职业规划,将学员分为不同的级。比如,有些学员可能希望深入研究某些领域,而有些学员希望全面掌握Java的各个方面。根据这些不同的需求,可以设置不同的级,以满足学员的学习需求。 4. 其他因素:除了上述条件外,分班还可以考虑其他因素,比如学员的间安排和地理位置等。这样可以更好地满足学员的需求,提高教学和培训的效果。 总之,分班Java华为OD需要综合考虑多个因素,以确保学员能够在相近的能力和兴趣水平上学习,并有针对性地进行教学和培训。同,也要根据实际情况和需求灵活调整级的设置,以提高教学效果和满足学员的学习需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值