Авторские Материалы о событиях в Израиле на Ближнем Востоке и в мире

IsraMir.com - Израильская журналистика

Default color brown color green color red color blue color
Вы сейчас тут: Новости arrow Техотдел arrow Свет ученья arrow Задача о клавиатуре, еще одно продолжение
Skip to content
Задача о клавиатуре, еще одно продолжение Версия для печати Отправить на e-mail
Sunday, 02 April 2006 | Д-р Евгений Канель для раздела Ученье – свет
Задачаоклавиатуре,ещеоднопродолжениеjavaisramir.comМы делаем еще один шаг на пути к окончательному варианту задачи о «несчастной магинистке». На этот раз мы снова заполняем массив «клавиатура» маленькими английскими буквами случайным образом – но вариант, который сегодня предлагает д-р Евгений Канель, содержит два способа; как всегда – мой и его, выполненный по заметно иному методу. А это – всегда интересно, верно?
 
Позвольте только напомнить суть задачи.
Напиши программу, которая будет заполнять массив, моделирующий «минимальную клавиатуру», то есть такую, которая содержит только маленькие буквы английского алфавита. Но при этом заполнить массив, «пронумерованный нормально» (то есть в порядкe  от ‘a’ до’ z’), следует заполнить случайным образом – как будто «соединения» клавиш были перепутаны. Для проверки программа должна принимать строковое значение и распечатывать получившуюся при «попытке набора» соответствующую «белиберду».
 
 
import java.util.*;
class klava2{
           
            public static void fill(char[] kbd){
                        String nabor="qwertyuiopasdfghjklzxcvbnm";
                        int how=nabor.length();
                        int n=25;
                        char j='a';
                        while (how>0){
                                   int i=(int)(n*Math.random());
                                   n--;
                                   char letter=nabor.charAt(i);
                                   kbd[j]=letter;
//                                 IO.writeln(letter+"="+"kbd["+j+"]="+kbd[j]);
                                   nabor=""+nabor.substring(0,i)+nabor.substring(i+1);
                                   j++;
                                   how=nabor.length();
                        }
            }
            public static boolean found(char[] kbd, char letter){
                for(int i=0;i
                                  if(kbd[i]==letter)return true;
                 return false;                
               }
            public static void fill_1(char[] kbd){
               char first='a';
                char last='z';
                char letter;
 
                Random ran=new Random();
                for(char i=first;i<=last;){
                    letter=(char)(first+ran.nextInt(last-first+1));
                    if(!found(kbd,letter)){kbd[i]=letter;i++;}
                   }
               }
            public static void view(char[] kbd){
                        for (char i='a';i<='z';i++){
                                   IO.writeln("kbd["+i+"]="+kbd[i]);
                        }
            }
           
            public static void go(char kbd[], String slovo){
                        String novoslovo="";
                        int how=slovo.length();
                        for (int i=0;i
                                   char letter=slovo.charAt(i);
                                   novoslovo=novoslovo+kbd[letter];
                        }
                        IO.writeln(novoslovo+"------");
            }
           
            public static void main (String args[]){
                        char kbd[]=new char[255];
                        char kbd_1[]=new char[255];
                        fill(kbd);
                        view(kbd);
                        fill_1(kbd_1);
                        view(kbd_1);
                        String slovo=IO.readString();
                        go(kbd,slovo);
                        go(kbd_1,slovo);
            }
}
 
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:


Автотранслитерация: выключена

Защитный код

Powered by jComments