2016-10-01 2 views
0

Скажем, у нас есть куча Чара: 's', 'w', 'e', 's', 't', 'h'Как получить числовую позицию Чара

Как мы можем увидеть, если мы вводим символ через (char)scanner.nextLine().charAt(0); на котором размещает цифры (1,2,3,4 , 5,6). Например, если я нахожу w, я получаю 2 назад, или если я набираю s, я получаю 1 и 4 назад.

Это код, у меня уже есть:

Scanner letter= new Scanner(System.in); 
    System.out.print("Type a character:"); 
    char let= letter.nextLine().charAt(0); 

    char[] word = {'s', 'w', 'a', 'g', 'w' }; 
    System.out.print(); 
+0

Почему вы не используете 'String word =" swagw "' вместо вашего 'Char Array'. –

+0

учитель сказал, что нам нужно использовать char –

ответ

0

вы можете просто сделать это с помощью карты

 Map<Character,List<Integer>> map = new HashMap<Character,List<Integer>>(); 

затем итерацию по характеру массива и добавить свои позиции на карте с ключом характер как этот

  if(map.get(word[i]) == null)//i is the index of the character 
        map.put(word[i],new ArrayList<Integer>()); 
      map.get(word[i]).add(i); 

тогда, когда вы вставляете своего персонажа, вы получаете связанный с ним lis t и распечатать его содержимое

+1

Это далеко не просто, и, учитывая, насколько основной вопрос, я не думаю, что OP готов к этому, и я не думаю, что он был бы подходящим для их нужд. – 4castle

+0

Я уважаю ваше мнение и проголосую за ваш комментарий слишком –

+0

Это действительно слишком сложно, чем я могу справиться: p, я только что начал неделю назад с java, спасибо за ответ tho! –