Создание String Array с использованием для цикла, возвращающего нулевой массив - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь создать создатель хеш-ключей, который разбивает слово и сравнивает его буквы с массивом с буквой алфавита в каждом индексе. Когда они равны, он занимает позицию этой буквы алфавита и вставляет ее в другой массив с 0 перед, если он находится в первых 9 ячейках. Я продолжаю получать нулевой массив. Если бы кто-то указал мне правильное направление, это было бы здорово.

Также я прошу прощения, если это уродливо, всего несколько месяцев в программировании, но я приму любые другие предложения по форматированию, которые профессор любит видеть.

Моя первая попытка: `

public String key(String word){
    final char[] alphArray="abcdefghijklmnopqrstuvwxyz".toCharArray();
    String Key; String Value;
    int alphLength=alphArray.length;
    String wordNoSpace=word.replaceAll("\\s","");
    char[] wordArray= wordNoSpace.toCharArray();
    int wordLength=wordArray.length;
    String[] keyArray = null;               
    String tmp; String formattedTmp;               
         for (int i=0; i > wordLength; i++)
          {
            for(int j=0; j >alphLength; j++)
            {
             if (wordArray[i]== alphArray[j])
             {
              tmp=Integer.toString(j);
              formattedTmp=String.format("%02d",tmp);
              keyArray[i]=formattedTmp;
             }             
            }
          }
        Key=Arrays.toString(keyArray);
        return Key;
        }
}

Опять же, любая помощь очень ценится!

Редактировать: если кто-то предложит, мой ожидаемый ввод / вывод будет Вход: яблоко выход: 0116162518

В настоящее время я получаю: [null, null, null, null]

Правка 2: удалена моя вторая попытка, поскольку первая - та, которую я потратил больше всего времени на

1 Ответ

0 голосов
/ 19 ноября 2018

Я не посмотрел на все ваш код, но есть две очевидные ошибки:

for (int i=0; i > wordLength; i++) {
    for (int j=0; j > alphLength; j++)

, если wordLength и alphLength не являются отрицательными числами, эти циклы будутникогда не повторяйте, потому что условие будет всегда false.

Попробуйте изменить > на <:

for (int i=0; i < wordLength; i++) {
    for (int j=0; j < alphLength; j++)

Вы бы обнаружили это очень быстро, если бы использовалиотладчик.Я рекомендую вам научиться пользоваться отладчиком как можно скорее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...