The+One-Handed+Typist

출처
[]

Source Code code format="java5" public class OneHandedTypist { public static void main(String[] args) { String input = "Hg66t Mty6k\nJhg 4ibl; pytmn 8tc 5i79urrr\nt,gy jhg 6fxo kt.r";

System.out.println(retype(input)); }

public static String retype(String input) { // Dvorak 레이아웃 char[] layout = new char[(int)0x1111111]; changeLayout(layout);

// 변환된 메시지 StringBuffer sb = new StringBuffer(input.length); for(int i = 0; i < input.length; i++) { sb.append(layout[input.charAt(i)]); }

return sb.toString; }

public static void changeLayout(char[] layout) { // 원래의 ASCII 코드로 초기화 for(int i = 0; i < layout.length; i++) { layout[i] = (char)i; }

// Dvorak 레이아웃에 맞춰 1:1 변환 layout['1'] = '1'; layout['2'] = '2'; layout['3'] = '3'; layout['4'] = 'q'; layout['5'] = 'j'; layout['6'] = 'l'; layout['7'] = 'm'; layout['8'] = 'f'; layout['9'] = 'p'; layout['0'] = '/'; layout['-'] = '['; layout['='] = ']';

layout['q'] = '4'; layout['w'] = '5'; layout['e'] = '6'; layout['r'] = '.'; layout['t'] = 'o'; layout['y'] = 'r'; layout['u'] = 's'; layout['i'] = 'u'; layout['o'] = 'y'; layout['p'] = 'b'; layout['['] = ';'; layout[']'] = '=';

layout['a'] = '7'; layout['s'] = '8'; layout['d'] = '9'; layout['f'] = 'a'; layout['g'] = 'e'; layout['h'] = 'h'; layout['j'] = 't'; layout['k'] = 'd'; layout['l'] = 'c'; layout[';'] = 'k'; layout['\''] = '-';

layout['z'] = '0'; layout['x'] = 'z'; layout['c'] = 'x'; layout['v'] = ','; layout['b'] = 'i'; layout['n'] = 'n'; layout['m'] = 'w'; layout[','] = 'v'; layout['.'] = 'g'; layout['/'] = '\'';

// Shift-modified layout['!'] = '!'; layout['@'] = '@'; layout['#'] = '#'; layout['$'] = 'Q'; layout['%'] = 'J'; layout['^'] = 'L'; layout['&'] = 'M'; layout['*'] = 'F'; layout['('] = 'P';       layout[')'] = '?'; layout['_'] = '{'; layout['+'] = '}';

layout['Q'] = '$'; layout['W'] = '%'; layout['E'] = '^'; layout['R'] = '>'; layout['T'] = 'O'; layout['Y'] = 'R'; layout['U'] = 'S'; layout['I'] = 'U'; layout['O'] = 'Y'; layout['P'] = 'B'; layout['{'] = ':'; layout['}'] = '+';

layout['A'] = '&'; layout['S'] = '*'; layout['D'] = '(';       layout['F'] = 'A';        layout['G'] = 'E';        layout['H'] = 'H';        layout['J'] = 'T';        layout['K'] = 'D';        layout['L'] = 'C';        layout[':'] = 'K';        layout['"'] = '_';

layout['Z'] = ')';       layout['X'] = 'Z';        layout['C'] = 'X';        layout['V'] = '<';        layout['B'] = 'I';        layout['N'] = 'N';        layout['M'] = 'W';        layout['<'] = 'V';        layout['>'] = 'G';        layout['?'] = '"';    } } code

Comment