2014-09-09 3 views
1

Привет всем и спасибо за то, что нашли время, чтобы посмотреть на мой вопрос. Я работаю над своей домашней работой на Java (я понимаю правила, и я не хочу, чтобы вы делали домашнее задание, я просто застрял, и я очень смущен, поэтому, пожалуйста, запретите/закричите/поймайте меня)Java Int Array возвращает все 0's

У меня есть класс под названием «Шифрование». Я вызываю этот класс в Panel, который помещается в Frame.

Мне нужно прочитать ввод пользователя и «зашифровать» эту строку моей собственной системой, используя массив.

Я прочитал свою книгу и искал ответы, но не знаю, почему мой массив INT является возвратом всех O. Мой массив Char возвращает правильный Char, когда я его отлаживаю, но мой массив Int возвращает все 0.

Вот что я имею, любые советы или предложения очень ценятся.

Благодаря

import java.util.Scanner; 

public class Encryption { 

private String finalEncryption; 
int [] numArray = new int[25]; 
char[] charArray = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; 
char current; 

//constructor 
public Encryption(){ 

} 

public String toString(){ 

    return finalEncryption; 
} 

public String setEncryption(String entry){ 

    String newEntry = entry.toUpperCase(); 

    //loop to go through each letter in the string 
    for (int ch = 0; ch < newEntry.length(); ch++) 
    { 
     current = newEntry.charAt(ch); 

     //loop to go through each letter in the alphabet 
     for (int i=0; i < 26; i++) 
     { 
      if(current == charArray[i]) 
      { 
       int finalEntry = numArray[i]; 
       System.out.println(finalEntry); 

      } 
      else if (current == numArray[i]) 
      { 

      } 

     } 

     System.out.println(current); 
    } 

    return entry; 
} 

} 
+0

Это будет 0, потому что вы не дали ему данных. –

+0

Чтобы помочь вам узнать и не дать ответ, я бы спросил, какие данные вы ожидали получить вместо 0 и почему вы так думаете? – csmckelvey

ответ

3

INT дефолты массив для всех нулей, после инициализации - это, кажется, ваш случай. Нигде вы не устанавливаете значения в массиве int, вы только инициализируете его, а затем читаете.

+0

Хорошо. Поэтому одна из вещей, которую я пробовал, заключалась в том, чтобы начать с чего-то вроде этого int [] numArray = {0,1,2,3}; но это также вернуло все 0 – user2788749

+1

Если вы делаете 'int [] numArray = {0, 1, 2, 3 ...' до пути до 25, он должен работать. –

+0

Хорошо, я понимаю, что вы говорите. Спасибо за помощь. Это была огромная помощь. – user2788749

1

Все, что явно указано в Java, инициализируется нулевым значением.

INT, который является 0.

См this документа.

Смежные вопросы