UVA10082 WERTYU(洛谷-UVA10082)

📅 2026/6/24 1:01:36
UVA10082 WERTYU(洛谷-UVA10082)
UVA10082 WERTYU洛谷-UVA10082题目描述有人打字的时候手整体往右挪了一格本来要按左边的键结果按到右边那个键了。现在给你一段打错后的文本你要把每个字符还原成它键盘左边的字符空格不用改其他所有字母、标点、数字全部往左挪一位输出。输入格式输入由若干行文本组成。每行可能包含数字、空格、大写字母除了 Q、A、Z或者上方显示的标点符号不包括反引号 ‘。带有单词标签的按键TabBackSpControl 等不会出现在输入中。输出格式你需要将每个字母或标点符号替换为在上方所示的 QWERTY 键盘上其左边的字符。输入中的空格在输出中应保持不变。输入输出样例输入 #1复制运行OS,GOMRYPFSU/输出 #1复制运行IAMFINETODAY.题目分析与解题思路先把键盘所有有效字符按从左到右、从上到下拼成一个总字符串循环读取所有输入行逐个遍历每个字符如果是空格直接拼到结果里如果不是空格找到它在键盘字符串里的位置取左边一位字符拼接完整代码importjava.util.Scanner;publicclassKeyboard{publicstaticvoidmain(String[]args){//定义完整键盘字符序列Stringkeyboard1234567890-QWERTYUIOP[]\\ASDFFGHJKL;ZXCVBNM,./;ScannerscannernewScanner(System.in);while(scanner.hasNextLine()){Stringlinescanner.nextLine();Stringoutput;for(inti0;iline.length();i){charcline.charAt(i);if(c ){outputoutputc;}else{intnkeyboard.indexOf(c);charleftCharkeyboard.charAt(n-1);outputoutputleftChar;}}System.out.println(output);}scanner.close();}}