/** * Created with IntelliJ IDEA. * Author: Amos * E-mail:
amos@amoscloud.com * Date: 2021/12/22 * Time: 9:56 * Description:
95% / public class Main104 { /
有一个特殊的五键键盘
上面有A、Ctrl-C、Ctrl-X、Ctrl-V、Ctrl-A
A键在屏幕上输出一个字母A
Ctrl-C将当前所选的字母复制到剪贴板
Ctrl-X将当前选择的字母复制到剪贴板并清空所选择的字母
Ctrl-V将当前剪贴板的字母输出到屏幕
Ctrl-A选择当前屏幕中所有字母
注意:
1. 剪贴板初始为空
2. 新的内容复制到剪贴板会覆盖原有内容
3. 当屏幕中没有字母时,Ctrl-A无效
4. 当没有选择字母时Ctrl-C、Ctrl-X无效
5. 当有字母被选择时A和Ctrl-V这两个输出功能的键,
会先清空所选的字母再进行输出给定一系列键盘输入, 输出最终屏幕上字母的数量 输入描述: 输入为一行 为简化解析用数字12345分别代替A、Ctrl-C、Ctrl-X、Ctrl-V、Ctrl-A的输入 数字用空格分割 输出描述: 输出一个数字为屏幕上字母的总数量 示例一: 输入: 1 1 1 输出: 3
示例二:
输入:
1 1 5 1 5 2 4 4
输出:
2*/
//记事本
String arr = ""; //A A
//剪贴板
String now =""; // A
//选择字母
String chose = "";// A
String scan = "1 1 5 1 5 2 4 4";
String[] s = scan.split(" ");
for (String a: s) {
switch (a){
case "1":
//当有字母被选择时A和Ctrl-V这两个输出功能的键, 会先清空所选的字母再进行输出
arr = arr.substring(0,chose.length());
chose = "";
arr += "A";
break;
case "2":
//4. 当没有选择字母时Ctrl-C、Ctrl-X无效
if(chose.length() != 0){
//2. 新的内容复制到剪贴板会覆盖原有内容
now = chose;
}
break;
case "3":
//4. 当没有选择字母时Ctrl-C、Ctrl-X无效
if(chose.length() != 0){
now = arr;
arr = "";
}
break;
case "4":
//当有字母被选择时A和Ctrl-V这两个输出功能的键, 会先清空所选的字母再进行输出
arr = arr.substring(0,chose.length());
chose = "";
arr += now;
break;
case "5":
//3. 当屏幕中没有字母时,Ctrl-A无效
if(arr.length() != 0){
chose = arr;
}
break;
default:
break;
}
}
System.out.println(arr.length());