Я пишу программу Java в Eclipse. Допустим, я объявляю массив:Eclipse не печатает нулевой символ
char[] array = new char[5];
, а затем я инициализирую только несколько элементов. Когда я пытаюсь распечатать весь массив, Eclipse останавливается, когда неинициализированный элемент достигнут, и ничего не делает. С другой стороны, когда я компилирую его в терминале с помощью команды javac, он отлично работает и печатает пустые пространства для неинициализированных элементов (или я должен указать нулевые символы). Почему это происходит?
EDIT: вот полный код (программа находит вспомогательный массив, принимая только буквы от исходного)
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int n=4;
char[] array=new char[n];
System.out.println("Input array elements: ");
for(int i=0; i<n; i++){
array[i]=input.next().charAt(0);
}
char[] A=new char[n];
int j=0;
for(int i=0; i<array.length; i++){
if ((array[i]>=65 && array[i]<=90)||(array[i]>=97 && array[i]<=122)){
A[j]=array[i];
j++;
}
}
System.out.printf("subarray is A=[ ");
for(int i=0; i<n; i++){
System.out.printf(A[i]+" ");
}
System.out.printf("].");
}
, например, если вход st1p, он выводит [СТП и там останавливается. Не выполняет последнюю печать.
Я использовал ваш бит кода, и он отлично работает. Но у меня все еще нет. Я поместил еще один оператор print вне цикла for для моего случая, и этот оператор никогда не выполняется. Не знаю, что я делаю неправильно. – sstefan
Должен напечатать пустое место. Я пробовал теперь, вне цикла, путем печати: System.out.println (array [1]); и он печатает пустое пространство. поэтому он работает ... – zypa
Вы работаете в eclipse? Потому что он печатает пробелы и для меня, кроме как в Eclipse, но в терминале – sstefan