LeetCode 551. Student Attendance Record I

551. Student Attendance Record I(学生出勤记录 I)

 

题目:

 

  给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:

    1.   'A' : Absent,缺勤
    2.   'L' : Late,迟到
    3.   'P' : Present,到场

  如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。

  你需要根据这个学生的出勤记录判断他是否会被奖赏。

  示例 1:

  输入: "PPALLP"
  输出: True

  示例 2:

  输入: "PPALLL"
  输出: False

 

思路:

 

  这题思路清晰,只要判断两个条件,缺勤次数少于2,连续迟到次数少于3,可以通过遍历来记录缺勤次数,迟到次数就通过contains函数来统计,LLL就代表连续迟到三次。

 

代码:

 

 1     public boolean checkRecord(String s)
 2     {
 3         int num = 0;
 4         for(int i = 0;i < s.length() ; i++)
 5         {
 6             if(s.charAt(i) == 'A')
 7                 num++;
 8             if(num >= 2)
 9                 return false;
10         }
11         if(s.contains("LLL"))
12             return false;
13         return true;
14     }
View Code

 

转载于:https://www.cnblogs.com/blogxjc/p/10965784.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个基本的学生缺勤记录界面的Java代码示例: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class StudentAttendanceRecord implements ActionListener { // 创建界面组件 JFrame frame; JLabel nameLabel, idLabel, dateLabel; JTextField nameText, idText, dateText; JButton submitButton, resetButton; // 初始化界面 public StudentAttendanceRecord() { // 创建界面框架 frame = new JFrame("学生缺勤记录"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new GridLayout(4, 2)); // 创建标签和文本框 nameLabel = new JLabel("姓名:"); nameText = new JTextField(10); idLabel = new JLabel("学号:"); idText = new JTextField(10); dateLabel = new JLabel("日期:"); dateText = new JTextField(10); // 创建按钮 submitButton = new JButton("提交"); submitButton.addActionListener(this); resetButton = new JButton("重置"); resetButton.addActionListener(this); // 将组件添加到界面中 frame.add(nameLabel); frame.add(nameText); frame.add(idLabel); frame.add(idText); frame.add(dateLabel); frame.add(dateText); frame.add(submitButton); frame.add(resetButton); // 显示界面 frame.setVisible(true); } // 处理按钮点击事件 public void actionPerformed(ActionEvent e) { if (e.getSource() == submitButton) { // 获取输入的数据 String name = nameText.getText(); String id = idText.getText(); String date = dateText.getText(); // 将数据保存到文件或数据库中 // ... // 提示用户提交成功 JOptionPane.showMessageDialog(frame, "提交成功!"); } else if (e.getSource() == resetButton) { // 重置界面 nameText.setText(""); idText.setText(""); dateText.setText(""); } } // 启动程序 public static void main(String[] args) { new StudentAttendanceRecord(); } } ``` 这个界面包括三个输入框(姓名、学号、日期)、两个按钮(提交、重置),以及提交和重置按钮的点击事件处理方法。当用户点击提交按钮时,程序会获取输入的数据并保存到文件或数据库中,并提示用户提交成功;当用户点击重置按钮时,程序会清空输入框中的内容。您可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值