题解 | #MP3光标位置#

MP3光标位置

https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner fzhinput = new Scanner(System.in);
        int num = fzhinput.nextInt(); // 歌曲总数
        fzhinput.nextLine();
        String ml = fzhinput.nextLine(); // 命令串
        
        int cursor = 1; // 光标初始位置
        int pageStart = 1; // 页面起始歌曲编号
        
        for (int i = 0; i < ml.length(); i++) {
            char command = ml.charAt(i);
            
            if (command == 'U') {
                if (cursor == 1) {
                    // 光标在第一首歌曲上时,按Up键特殊翻页到最后一页,光标到最后一首
                    cursor = num;
                    if (num > 4) pageStart = num - 3;
                } else {
                    cursor--;
                    if (cursor < pageStart) pageStart--;
                }
            } else if (command == 'D') {
                if (cursor == num) {
                    // 光标在最后一首歌曲上时,按Down键特殊翻页到第一页,光标到第一首
                    cursor = 1;
                    pageStart = 1;
                } else {
                    cursor++;
                    if (cursor >= pageStart + 4) pageStart++;
                }
            }
        }

        // 输出当前屏幕显示的歌曲列表
        for (int i = pageStart; i < pageStart + 4 && i <= num; i++) {
            System.out.print(i + " ");
        }
        System.out.println();
        
        // 输出当前选中的歌曲编号
        System.out.println(cursor);
        
        fzhinput.close();
    }
}

全部评论

相关推荐

今天投了小鹏,收到了AI面,大概会问哪些啊?
期末一定及格:总共4个部分,心理测评、行测、然后就是问岗位、对岗位的理解、过往遇到了哪些难点怎么解决,很简单,没有什么特别专业的问题,都是一些综合素质相关的
小鹏汽车AI面7人在聊
点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 12:11
我最近都有点不想活了,天天早10晚11的,还问我爱不爱她目前的状态别说爱谁了,没扇谁就不错了。是不是大家都是一进节子,只有工作没有爱情了
AzureSkies:在字节的时候找的就是字节的,飞书太适合恋爱人士了,能看到是不是已读,是不是在会议中。简直冥婚好伴侣
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务