2017-02-22 24 views
-5

Что напечатано в результате выполнения следующего сегмента кода? (я обычно просто использовать программу Java на моем компьютере, чтобы сделать это, но, программа обновления, которая займет еще несколько часов.). В любом случае, вот фрагмент кода:Что напечатано в результате выполнения следующего сегмента кода? И почему это происходит?

ArrayList<String> digits = new ArrayList<String>(); 
for (int k = 0; k <= 9; k++) 
{ 
digits.add("" + k); 
} 
for (int k = 0; k <= 4; k++) 
{ 
String d1 = digits.remove(k); 
String d2 = digits.remove(k); 
digits.add(k, d1 + "+" + d2); 
} 
System.out.println(digits); 

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

+5

серьезно? SO не является компилятором. – OldProgrammer

+0

Я знаю. Но я тоже хочу знать. Почему возникает ответ? –

+0

Я прошел через него, не компилируя его. И мой ответ был совершенно неправильным. –

ответ

0

Выход [0 + 1, 2 + 3, 4 + 5, 6 + 7, 8 + 9]

  • Числа в диапазоне от 0 до 9, добавляются в список массива с помощью первый для цикла.

    for (int k = 0; k <= 9; k++) { digits.add("" + k);} 
    
  • Пять раз 2 числа удаляются, например. в первой итерации числа 0 и 1 удаляются. Имейте в виду, что удаление сдвигает последующие элементы влево.
  • На той же итерации строка, содержащая две цифры, вставляется в ArrayList в позиции k.

    for (int k = 0; k <= 4; k++){ 
        String d1 = digits.remove(k); 
        String d2 = digits.remove(k); 
        digits.add(k, d1 + "+" + d2); 
    } 
    
+0

спасибо! Это объяснение хорошо продумано и очень просто/легко понять. –

0

Выход должен быть примерно таким: [0 + 1, 2 + 3, 4 + 5, 6 + 7, 8 + 9]. Не компилировалось.

+0

На ваш взгляд, объясняя, почему вы получили этот ответ –

0

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

https://www.compilejava.net/

Он производит это: [0 + 1, 2 + 3, 4 + 5, 6 + 7, 8 + 9]

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