首页 > 其他分享 >5键键盘的输出

5键键盘的输出

时间:2023-08-11 15:00:34浏览次数:33  
标签:输出 ctrl screen 键盘 num 字母 select

1. 题目:

有一个特殊的 5键键盘,上面有 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键。
a键在屏幕上输出一个字母 a;
ctrl-c将当前选择的字母复制到剪贴板;
ctrl-x将当前选择的 字母复制到剪贴板,并清空选择的字母;
ctrl-v将当前剪贴板里的字母输出到屏幕;
ctrl-a 选择当前屏幕上所有字母。

注意:
1、剪贴板初始为空,新的内容被复制到剪贴板时会覆盖原来的内容
2、当屏幕上没有字母时,ctrl-a无效
3、当没有选择字母时,ctrl-c和 ctrl-x无效
4、当有字母被选择时,a和ctrl-v这两个有输出功能的键会先清空选择的字母,再进行输出
给定一系列键盘输入,输出最终屏幕上字母的数量。

输入描述:
输入为一行,为简化解析,用数字 12345代表 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键的输入,数字用空格分隔

输出描述:
输出一个数字,为最终屏目上字母的数量。

示例:
输入
111
输出
3

2. 答案:

class Test {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {
            String s = in.nextLine();
            boolean select = false;
            String screen = "";
            String clip = "";
            String[] arr = s.split("");
            for (int i = 0; i < arr.length; i++) {
                int num = Integer.parseInt(arr[i]);
                if (num == 1 && select) {
                    screen = "a";
                    select = false;
                } else if (num == 1 && !select) {
                    screen += "a";
                } else if (num == 2 && select) {
                    clip = screen;
                } else if (num == 3 && select) {
                    clip = screen;
                    screen = "";
                    select = false;
                } else if (num == 4 && select) {
                    screen = clip;
                    select = false;
                } else if (num == 4 && !select) {
                    screen += clip;
                } else if (num == 5) {
                    clip = screen;
                    select = true;
                }
            }
            System.out.println(screen.length());
        }
    }
}

输出结果:

标签:输出,ctrl,screen,键盘,num,字母,select
From: https://www.cnblogs.com/styCy/p/17622993.html

相关文章

  • 利用Java实现键盘输入
    利用Java实现键盘输入引入包下的类Scanner创建一个对象调用对象的方法importjava.util.Scanner;//导包publicclassinput{ publicstaticvoidmain(String[]args){ /*键盘输入*/ Scannerinput=newScanner(System.in); System.out.println("请输入用户......
  • C++之输入输出流(控制台打印/读取数据)
    C++与流stream相关的头文件/库iostreamfstreamsstream分别对应:控制台IO流/文件流/字符串流,本文主要介绍控制台输出输出流cin>>空格分隔cout<<控制台输出已知待读取元素的数量:cin>>n未知待读取元素的数量:while(cin>>val)另外,可以整行读取数据,然后再解析字......
  • 为ping添加时间戳后台运行实时输出保存日志
    前言ping命令是一种比较好用的网络诊断工具,常用来验证链路问题,例如pingtraceroutemtr都使用的“ICMP”包来测试Internet两点之间的网络连接状况。生产环境中,网络是否稳定(网络时延)是一个很重要的指标.为了方便检查网络时延的大小,我们可以通过ping命令实现长时间的......
  • 通过修改注册表,为微软键盘添加小鹤双拼
    前言什么是小鹤双拼小鹤双拼是一种中文输入法方案,以小鹤音形输入法为基础。它通过将汉字的拼音声母和韵母映射到键盘上的两个按键,实现中文字符的输入。小鹤双拼的特点是简单易学、输入效率高。声母和韵母的拼音分别映射到键盘上的两个按键,通过按下不同的组合来输入不同的声母或......
  • Flutter中如何实现手机键盘右下角完成键搜索
    要实现在手机键盘右下角显示“完成”键作为搜索按钮,可以使用TextInputAction属性来控制键盘的行为。将textInputAction属性设置为TextInputAction.search即可将键盘右下角的按钮改为“完成”按钮,并且点击该按钮时会触发提交(搜索)操作。下面是一个示例代码:import'package:flutter/ma......
  • 13.键盘监听事件
    packageGUI;importjava.awt.*;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;publicclassTest13_Key{publicstaticvoidmain(String[]args){newKeyFrame();}}classKeyFrameextendsFrame{publicKeyFrame()......
  • iMX8MP HDMI图像输出 & V4L2生成MJPEG流
    飞凌嵌入式OKMX8MP-C开发板基于NXP i.MX8MPlus处理器开发设计,该系列处理器专注于机器学习与视觉、高级多媒体以及具有高可靠性的工业自动化。旨在满足智慧城市、工业互联网、智能医疗、智慧交通等应用的需求。强大的四核或双核Arm® Cortex®-A53处理器,主频高达1.6GHz,带有神经......
  • GRA非隔离系列宽电压输入正负高电压输出 电压控制型 DC-DC电源升压模块
    特点●效率高达70%以上●1*2英寸标准封装●正负电压输出●价格低●电压控制,输出电压随控制电压线性变化●工作温度:-40℃~+85℃●阻燃封装,满足UL94-V0要求●温度特性好●可直接焊在PCB上应用GRA  系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为:4.5~9......
  • php如何定义多维数组以某个字符去输出对应的值
    $arr=[['id'=>123,'test'=>['id'=>2,'title'=>"测试",'test3'=>['list'=>123]]]];$field="test.test3.list";foreach($ar......
  • 1.0 Python 标准输入与输出
    python是一种高级、面向对象、通用的编程语言,由GuidovanRossum发明,于1991年首次发布。python的设计哲学强调代码的可读性和简洁性,同时也非常适合于大型项目的开发。python语言被广泛用于Web开发、科学计算、人工智能、自动化测试、游戏开发等各个领域,并且拥有丰富的第三方库......