Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как усовершенствовать код и избавиться от множества глобальных переменных?

Лучший ответ:
https://jsfiddle.net/koceg/66dd35hr/
В вашем коде, несмотря на то, что он небольшой, довольно много проблем. Давайте пойдем по порядку:Он в принципе не работает, потому что переменной body не существует. Нужно обращаться через document.body.У вас всё в одной функции. Отсюда и глобальные переменные (на самом деле они не глобальные, а ограничены этой функцией, но всё же) и дублирование одного и того же кода.Использование того, что в глобальной области видимости создаются переменные для каждого элемента с id (ul1, ul2) - плохая практика. Чуть раньше вы корректно воспользовались document.getElementById().Использование label в continue - приравнивается к goto и является уголовно наказуемым деянием.Вместо собственной реализации поиска нужно использовать стандартный метод indexOf, тогда и goto не понадобится.Из-за использования innerHTML, достаточно просто перенести закрывающий тег </li> на новую строку, чтобы элемент задублировался.Код срабатывает при старте страницы, а не тогда, когда он реально нужен. Это и само по себе проблема - зачем делать вычисления, которые неизвестно понадобятся ли, и не позволит изменить результат при изменении списков.Есть еще несколько мелочей, которые я не стал править, вроде установки обработчиков событий через .onclick, это будет домашнее задание.

Худший ответ:
Вот более правильный вариант, вам правда уже быстрее меня ответили.<script type="text/javascript">
		(function () {
			function makeArray() {
				var arr1 = getArray("#ul1"),
					arr2 = getArray("#ul2");

				function getArray(selector) {
					if (selector)
						return Array.prototype.slice.apply(document.querySelector(selector).getElementsByTagName('li'))
							.map(function (curr) {
								return curr.innerHTML
							})
					return [];
				}

				for (var i = 0; len = arr2.length, i < len; i++) {
					if (arr1.indexOf(arr2[i]) < 0)
						arr1.push(arr2[i])
				}
				return arr1.join(", ");
			};

			document.getElementById('makeNewArray').onclick = function () {
				var div = document.createElement('div');
				div.innerHTML = makeArray();
				body.appendChild(div);
			};
		})();
	</script>
Но это легко понимаемый вариант с получением списков по отдельности.
Если же вам все равно сколько списков и не важно, откуда каждый элемент по отдельности, есть мегакороткий вариант:<script type="text/javascript">
		(function () {
			function makeArray() {
				return Array.prototype.slice.apply(document.querySelectorAll("li"))
					.map(function (curr) {
						return curr.innerHTML
					})
					.filter(function (item, pos, self) {
						return self.indexOf(item) == pos;
					})
					.join(", ");
			};

			document.getElementById('makeNewArray').onclick = function () {
				var div = document.createElement('div');
				div.innerHTML = makeArray();
				body.appendChild(div);
			};
		})();
	</script>
Вопрос: Вопрос о высшем образовании. Что думаете?

Лучший ответ:
Лесом университет. Самообразование - залог успеха.

Худший ответ:
готовиться к ЕГЭ и поступать на "очку"
Но, если вы Цукерберг-2, то.... 
Просто тренировка учебными предметами в универе (лучше в сильном) расширит ваш кругозор и ...
В конце концов будете смотреть и оценивать окружающую реальность как бы масштабируемее....
Вопрос: Как показать/скрыть блок меню при скролле страницы (JQuery без плагинов)?

Лучший ответ:
Например как-то так:var element = document.querySelector("#menu");
document.onscroll = function() {
    if (document.body.scrollTop > 200 && document.body.scrollTop < (document.body.scrollHeight - 500)) 
    {
        element.style.display = "block";
    }
    else
    {
        element.style.display = "none";
    }
};
200 - высота сверху откуда начинает показываться
500 - высота снизу откуда скрывается

Худший ответ:
Держите: клац
Вопрос: Как устроено взаимодействие клиент\сервер в мобильных играх?

Лучший ответ:
Вот эта статья освещает взаимодействие клиент-сервер (хоть и с упором на «стрелялки»).

Технология может быть любой (с учетом задержек мобильного Интернета). Ваш пример Я бы осуществил скорее всего на Питоне + Redis + Memcache.

Худший ответ:
Люто плюсую за «плюсы» и оперативку, сорри за тавтологию :)
Вопрос: Продажа контента на Shutterstock. Стоит ли?

Лучший ответ:
У меня там 912 фотографий. Из них с лицами людей (которые требуют разрешения) — ни одной. Доход 20-30 долларов в месяц. В сумме со всех стоков (7 штук, на каждом от 800 до 1200 фотографий) — около 100 долларов в месяц. Основная затрата времени — проставление ключевых слов (делается один раз) и категорий (на каждом сайте)

Худший ответ:
Примерно месяц назад прошёл модерацию и начал загружать туда фото. Сейчас в портфеле 146 работ. Суммарный доход - 6.4$. Так что если вы хотите что-то заработать на микростоках, стоит крепко задуматься о собственных силах. Это весьма непросто и медленно, хотя, конечно, встречаются и весьма талантливые авторы, чьи заработки вызывают белую зависть)
Вопрос: Насколько опасно разрешать пользователям загружать на сервер любые файлы?

Лучший ответ:
Очень опасно - хакер завоюет сервер на 100%. Представим, у вас сайт на PHP. Пользователь может загрузить на сервер скрипт, а потом его выполнить.
Простейший код удалит весь сайт. У себя не запускать!@unlink($_SERVER["DOCUMENT_ROOT"]);

Худший ответ:
Чтобы позволить себе такую роскошь нужно будет потратить кучу времени на предотвращение всех возможных угроз. Сейчас все сразу не перечислить. Основная проблема думаю в том, чтобы запретить исполнение файлов. Как вариант каждый файл можно хранить запакованным в архив, тогда исполнить его не удастся, вариантов куча надо сидеть думать...
Вопрос: Использовать али нет единицы REM в CSS, как правильно использовать (три вопроса)?

Лучший ответ:
По вопросам:
1) Однозначно вариант 2.
2) Это всего лишь мнение. Не бывает серебрянных пуль. Бегло пробежался глазами по статье, в основном увидел ругания em, про rem ничего путнего не нашел, только упоминание ie8 и создание нового уровня абстракции.
3) Выглядит как какой-то жуткий костыль и извращение, я бы прошел мимо такого.

Худший ответ:
Зачем? Используйте Normalize.css и больше не парьтесь на эту тему. Мудря с подобными концепциями, вы только усложните поддержку кода, как себе в будущем, так и другим разработчикам особенно.
Вопрос: Что может сделать злоумышленник, если все мои данные по социалкам, эл. почта и №телефона открыты и доступны?

Лучший ответ:
Ну взломать вас, возможно, и не взломают.

Однако такие вещи отлично подходят для всяких вариаций социальной инженерии. Как в отношении вас (можно прикинуться давним знакомым, бросая в глаза кучу фактов, как правило, неизвестных посторонним людям), так и в отношении ваших близких/знакомых (которых так же легко можно найти в тех же соцсетях) [с ними проще].

Худший ответ:
совершенно не раскрыта модель предполагаемого злоумышленника. Злоумышленники бывают разные.
Вопрос: Обязательно ли нужен html шаблон при разработке сайта?

Лучший ответ:
я не верстальщик, но:
1) Что бы было что стилизовать - какая то html разметка все равно нужна. Хотя бы от drupal этого.
Дальше imho можно разделить на 2 случая:
а) если мы говорим про человека который умеет и верстать и кодить - то это его личное дело в каком порядке и как это делать. У меня есть знакомый верстальщик который не любит копипастить одинаковые блоки и пишет циклы на php :-)
б) Если говорить про студию где css потом пишут другие люди - то в целом это возможно если структура сайта укладывается в стандартные блоки разметки этого drupal без каких то хитрых оверлеев итд. Поскольку начиная с некоторого уровня заказчики хотят что то более интересное - такой подход соответственно определяет их максимальный уровень.
Вообще вопрос кто именно натягивает верстку в известной степени холиварный, я знаю проекты где frontend часть весьма сложна - в итоге их backend разработчики просто выводят данные в шаблон вообще без верстки, а frontend-ребята зацепляют верстку уже поверх.

Худший ответ:
Я не знаю делают ли ещё Флеш сайты, но там html и css не нужен... Вообще при любом раскладе...
Вопрос: Как отговорить клиента от Битрикса?(1C-Bitrix)?

Лучший ответ:
А зачем? Хотят на битриксе, выставьте взрослый ценник за битрикс, большая компания, большая стоимость, большой прайс.

Худший ответ:
На битриксе такое реализуется довольно просто. Делал подобное для корпоративного портала 5 лет назад. Заняла вся басня 52 дня со дня получения ТЗ. Очень лего в админку внедряется код создания файловых зависимостей в публичке: создание публичных разделов на основе структуры подразделений предприятия и так же создание структуры нужных инфотипов для инфоблоков.
Дело в том, что заказчик прав: переход на битрикс дает ему возножность избежать такого кровавого месива в будущем. И не входить в анальное рабство от разработчика.
На джумле такое сделать намного труднее, чем на Битриксе, а всякие Вордпрессы приведут к не менее кровавому мессиву.
Вопрос: Материалы по нейронным сетям?

Лучший ответ:
Похоже, что вам нужно подтянуть знания математики, чтобы читать формулы.
Для начала посмотрите раздел нейронных сетей в этом курсе Machine Learning (реализация на Octave), затем углубитесь в Neural Networks for Machine Learning от Джефри Хинтона.

Худший ответ:
neuronus.com/nn.html
www.neuroproject.ru/neuro.php - здесь бывают проблемы с кодировкой (win-1251)
Вопрос: Sublime 3 не устанавливает новые пакеты «There are no packages available for installation»?

Лучший ответ:
Проблем может быть много, от прокси, до падения сайта. В данный момент лежит сайт периодически, а если и работает, то выдаёт не то, что нужно. Решение:
 (Preferences > Package Settings > Package Control > Settings - User) добавляем каналы:"channels":
[
"https://packagecontrol.io/channel_v3.json",
"https://web.archive.org/web/20150905194312/https://packagecontrol.io/channel_v3.json"
],

Худший ответ:
Переснес...поспал...проснулся..все работает....:]
Вопрос: Какую Arduino и комплектацию выбрать?

Лучший ответ:
маленький совет — берите все сразу в китае. это втрое дешевле чем там где вы сейчас ищете

Худший ответ:
На всякий случай: Arduino Ethernet Shield — это НЕ Arduino, это дополнительная плата к Aruino Uno. По входам навскидку не отвечу, нужно читать мануалы и смотреть какие ноги используются. По совместной работе тоже надо лезть в мануалы.
Вопрос: Принципы работы модема в Kindle 3 Wi-Fi+3G

Лучший ответ:
www.mobileread.com/forums/showthread.php?t=60006
www.mobileread.com/forums/showthread.php?t=103972
www.mobileread.com/forums/showthread.php?t=102240

есть там SIM.

everything has to go through the Amazon web proxy servers. All other connections are blocked. 

If you're in a region which doesn't give you free web access via 3G on your Kindle then all you can access is the Kindle store and Wikipedia.

Худший ответ:
Да как и все телефоны наверное: есть симка, есть IMEI.

А вообще, за такие фокусы амазон вправе применить канделябр. И отечественные покупатели киндла его в этом поддержат :-)
Вопрос: Ваше понимание полиморфизма?

Лучший ответ:
Это механизм, позволяющий обращаться по одному и тому же имени к разным сущностям.
На примере функций (полиформизм по параметрам):int max( int, int );
double max( double, double);
На примере классов (полиформизм по типам):class Animal{}
class Dog : public Animal {}
class Cat : public Animal {}
Animal* animal1 = new Dog();
Animal* animal2 = new Cat();

Худший ответ:
Вот недавно похожий вопрос был.
Вопрос: Как с помощью javascript определить устройство, с которого зашли на сайт?

Лучший ответ:
всем спасибо за полезные советы, нашел вот простой, не громоздкий, самое главное(!), скрипт:if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
    // код для мобильных устройств
  } else {
    // код для обычных устройств
}

Худший ответ:
а просто медиа-запросы не помогут? или просто по ширине экрана делать js?
Вопрос: Можно ли легально работать через фриланс, обходясь одной лишь налоговой декларацией?

Лучший ответ:
Точно не скажу, Вам у юристов нужно проконсультироваться, но на одном из форумов читал, что если Ваш годовой доход от предпринимательской деятельности не более 12 МРОТ, ИП регистрировать не за чем, т.е. до этого порога заниматься предпринимательской деятельностью можно законно, даже без ИП/Юр.лица. Подаете 1 раз в год декларацию 3-НДФЛ и спите спокойно.Возможно это фигня, поэтому рекомендую еще раз - к юристам. 
А теперь чисто из здравого смысла. Банк в ручном режиме проводит операции физ.лиц на суммы свыше 600 т.р. При чем эти операции попадают в поле зрения финмониторина. 
За предпринимательскую деятельность без регистрации штраф до 2 т.р.(ссылка на КОАП РФ). Плюс Вам ФНС еще может впаять недоимку и пеню на те деньги, которые они посчитают доходом. Считать будут инспекторы по ОСНО, а это налог на прибыль(20%), НДС(18%) и НДФЛ(13%) как минимум... В общем много... 
Какие деньги они могут счесть доходом? Да в принципе все что захотят. Если в суде сможете доказать обратное, к примеру что получали от кого-то возврат долга или машину в рассрочку продавали, тогда сумма будет уменьшена. 
А теперь давайте банально посчитаем деньги. Пусть Вы зарабатывайте на fl.ru 30 т.р. в месяц. За год - 360 т.р. Максимальная сумма налогов, которую ФНС может с Вас взыскать(51% = ) - 183,6 т.р. + 2 т.р. штрафа. Примерный доход супермаркета - 20 млн в месяц(цифра для Магнита, откуда знаю не спрашивайте). Рыть и там и там примерно одинаково. Как Вы думаете, кого они будут трясти и где смогут больше поиметь? 
В целом хочу сказать, что нужно иметь чувство меры. Пока Вы где-то внизу(до 1 млн в год) - Вы нафиг не кому не интересы, с Вас особо взять нечего, поэтому сильно насчет своей регистрации можете не париться. После этого порога - вероятней всего Вам уже будут нужны сотрудники, заемные деньги и т.п., поэтому думаю что стоит оформиться.
К вопросу что оформлять. Лично я сам сейчас владею ООО'шкой. До этого был ИП - напрягала неограниченная ответственность. Если у Вас ничего нет - смело оформляйте ИП. Если есть что терять(машина, к примеру) - лучше ООО.

Худший ответ:
сойдет 
13 процентов подоходный налог в россии
правда есть же ещё и пенсионные и всякие другие отчисления
Вопрос: регистрация домена

Лучший ответ:
К nic.ru

Худший ответ:
похоже на разводку, они объявили предзаказ и все что им скинули зарегали на себя
Вопрос: Как написать скрипт замены на php?

Лучший ответ:
php.net/manual/ru/function.preg-replace.php
обратить внимание на параметр limit.

Худший ответ:
$str = "<br><br><br><br>";
$new_str = preg_replace("/\<br\>/s","<em>",$str,1); // Единица в конце функции определяет кол-во замен
echo $new_str;
Вопрос: Как открыть модальное окно при открытии страницы?

Лучший ответ:
допустим, так:$(document).ready(function(){
$("#modal").click();
});

Худший ответ:
Готово.
Решилось всё вот так<script>
$(document).ready(function(){
var inst = $.remodal.lookup[$('[data-remodal-id=modal]').data('remodal')];

// open a modal
inst.open();;
});
</script>
вставив этот код в  head
Вопрос: Локальная ООБД для .Net

Лучший ответ:
От Microsoft — SQL Compact Edition. 
Еще есть Perst.
Наверно есть еще .NET Embedded Database

Худший ответ:
Ну так есть же .Net-биндинги для SQLite.
Вопрос: психология рядового программиста (инженера)

Лучший ответ:
Хм, оригинально — статью в q&a выкладывать.

Худший ответ:
постоянно есть некое недовольство, раздражение, и если у него нет дела совершенно не связанного с умом (например любительский спорт), которое он меняет раз в пол года, то такой человек раздражительный и замкнутый (в случае интровертности) 
откуда корреляция между наличием дела, несвязанного с умом и раздражительностью?
любопытно оттого, что становлюсь раздражительным в том случае, если ум не занят. Может, я ошибаюсь? 
Т.е. провалы в работе мышления из-за усталости раздражительнее всего, после того, как высплюсь и заставлю себя сесть за решение задачи — настроение поднимается на глазах, буквально минут за 10-20 после начала до ощущения приятной усталости от сделанного объема или качества решенной задачи.
Вопрос: Как читать строку на php?

Лучший ответ:
PHP отличный язык на котором можно реализовать практически любой алгоритм.
В первом случаи вы можете использовать функцию explode с разделителем в виде пробела, получите массив на выходе ровно в том порядке, в котором идут слова. А дальше обрабатывайте массив как угодно.
Во втором случаи можно так же использовать explode только при переборе массива учитывать начало и конец заголовка, выставлять флаг начала и флаг конца тега.
Все в ваших руках.

Худший ответ:
Можно регулярки использовать. Я php не знаю, поэтому буду использовать примеры для python, для php должно быть что то похожее. 
Для нахождения нужных слов можно использовать префиксные и постфиксные проверки:
    (?<=<условие>)<выражение> - <выражение> будет соответствовать шаблону только тогда, когда оно идет после выражения, которое соответствует шаблону <условие>.
    (?)<выражение> - аналогично предыдущему, только будет совпадать, если <условие> НЕ будет совпадать.
    (?=<условие>)<выражение> - постфиксное условие, <выражение> будет соответстовать, если после него идет выражение, которое соответствует шаблону <условие>
    (?!<условие>)<выражение> - постфиксное условие с отрицанием
Для удаления есть метод sub(), на самом деле это замена, но кто нам помешает заменять на пустую строку.
Таким образом можно так:your_string = '<p>Ох уж этот php хотя java адский ад лучше уж пусть php</p>'
p = re.compile( '(php)(?=.*java)')
p.sub('', your_string)
Для php вроди бы так будет:$string = "<p>Ох уж этот php хотя java адский ад лучше уж пусть php</p>";
$string = ereg_replace('(php)(?=.*java)', '', $string);
php.net/manual/ru/function.ereg-replace.php
Вопрос: Почему сами разработчики не рекомендуют использовать PHP7 для продакшена?

Лучший ответ:
давно он появился на php.net в разделе stable releases?

Худший ответ:
На примере "беты Yii2". Сегодня одна функция, а потом они вдруг обновились, ничего не предупредив, и нарушив обратную совместимость с предыдущей версией беты. А потом ты бегаешь по сайту и думаешь: "почему же у меня ничего не работает?.."
Вопрос: Как организовать офисный сервер?

Лучший ответ:
1 — последняя samba. Она то ли альфа, то ли бета, не ковырял. Но со старой лучше не мучаться. 
2 — debian.pro/246, debian.pro/249 + google -> transparent squid proxy (тут готовые рецепты лучше не использовать, поэтому ссылку не даю). 
3 — слишком широкая тема. В целом — у меня на debian.pro ищите по тегам lamp и nginx. 
4 — samba, опять же. 
5 — www.process-one.net/en/ejabberd/downloads — отсюда забирайте tar.gz-шник ejabberd, распаковывайте, внутри будет достаточно удобный инсталлер. К сожалению, качество сборки deb-пакетов с ejabberd пока далеко по удобству от этого инсталлера. 
6 — это вам поднимать локальный bind9, на нем создавать зону, с dhcp раздавать его как dns сервер для пользователей сети. Как то так — debian.pro/125
7 — чисто человеческий вам совет — поднимите redmine+svn, чтобы в будущем не мучаться с управлением репозиториями. Тут, потом тут.

Худший ответ:
Помогут Samba, Squid, ну и указанные выше Apache, nginx, PHP, MySQL, Subversion (можно сразу поставить с WebSvn), Ejabberd.
Вопрос: Какую IDE использовать при разработке проектов на битрикс?

Лучший ответ:
phpstorm - считается лучшей средой для битрикса
p.s. но лично я пользуюсь rapid php

Худший ответ:
Выбрал Eclipse for PHP Developers, просканировал средний проект за 15 минут!
Все классы и методы доступны.
Остальное надо смотреть)))
Eclipse конечно же хорош, но начинает дико тормозить через 1,5ч работы, причём озу ещё 4Гб свободно!)
Выбрал phpStorm8, работаю в том же проекте уже как 3-ий день, нареканий нет, всё быстро и пока не подводил!)
Правда пришлом потратить 30 минут на настройку среды, но оно того стоило.
Вопрос: Для чего нужен модуль php5-common?

Лучший ответ:
Это не модуль, это набор списка наиболее часто используемых модулей.

Худший ответ:
Нет такого модуля, судя во вашим вопросам вы каким-то бредом занимаетесь.
Вопрос: Таблица умножения

Лучший ответ:
Как-то так.

Худший ответ:
Если бы вы не поленились посмотреть SO, то увидели бы что там есть фикс для FF. Я его не вставил в свой пример
Вопрос: Мобильный телефон для любимой мамы?

Лучший ответ:
iPhone конечно-же.

Я вот опрометчиво купил жене телефон на Android и многократно пожалел — раз в 1-2 дня наглухо зависает, включить можно только достав аккумулятор и вставив обратно, зависший телефон не принимает входящие звонки, вобщем одно огорчение.

Худший ответ:
Ну если нужен тач-скрин, то бери с Андроидом. А какие еще варианты? Айфон? 
Имел дело с тач-Самсунгом без Андоида (не знаю, что там… Bada?) — такое себе, там плохие неотзывчивые экраны.
Телефоны типа HTC Wildfire или Samsung Ace не советую, после установки нескольких программ, начинают тормозить. У меня Ace, иногда чтобы позвонить надо ждать 5-10 секунда, пока загрузится приложение телефона, это бесит.
Вопрос: А стоит ли дальше продолжать обучатся мобильной разработке?

Лучший ответ:
Если дело нравится, то почему бы и не развиваться? Но, чтобы были $$$, мало быть разработчиком. Как вариант, можно поставить себя на место пользователя и подумать, какое приложение ему было бы полезным (а дальше - мог ли бы он за это заплатить, хотя бы смотря рекламу). Дальше уже можно в этом направлении двигаться (т. е., разработать и начать продавать, потом снова посмотреть, подумать, сделать что-то ещё, начать продавать и так далее по кругу).

Худший ответ:
Если дело нравится, то почему бы и не развиваться? Но, чтобы были $$$, мало быть разработчиком. Как вариант, можно поставить себя на место пользователя и подумать, какое приложение ему было бы полезным (а дальше - мог ли бы он за это заплатить, хотя бы смотря рекламу). Дальше уже можно в этом направлении двигаться (т. е., разработать и начать продавать, потом снова посмотреть, подумать, сделать что-то ещё, начать продавать и так далее по кругу).
Вопрос: Как бы вы поступили на моем месте бы с заказом?

Лучший ответ:
нет исходника макета - нет смысла изначально.

Худший ответ:
отказаться можно всегда. но как вы будете отказываться  зависит от того, что вы успели пообещать.
Вопрос: Обучение Ruby.Что посоветуете?

Лучший ответ:
если есть начальные знания Руби, то имеет смысл попрактиковаться:
www.rubeque.com
rubykoans.com
projecteuler.net/problems
разобраться с гитхабом
небольшие задачи есть на:
www.theodinproject.com
tutorials.jumpstartlab.com
неплохой бесплатный видео-курс с заданиями:
https://rubyoffrails.com/
https://www.coursera.org/course/webapplications (отличный курс с сертификатом, в сентябре стартует вторая часть)
и просмотреть еще раз отличные книги:
The Well-Grounded Rubyist (2014)
Confident Ruby: 32 Patterns for Joyful Coding
The Rails 4 Way (3rd Edition)
Everyday Rails Testing with RSpec
еще можно посмотреть:
iwanttolearnruby.com
и конечно практика, практика и еще раз практика.
ставите себе задачу и решаете ее.
например учебным проектом у меня было создание сервиса е-мейл подписок, а вторым проектом блог фотографа.

Худший ответ:
Пайна "Учись программировать" и Фитцджеральда "Изучаем Руби"
Вопрос: Не запускается explorer в Windows?

Лучший ответ:
Если неохота копаться в реестре ручками, скачайте утилиту AVZ, в главном меню там есть пункт "Восстановление системы". Отмечайте галочками всё, что связано с Проводником и пробуйте исправить. После исправления не забудьте перезагрузиться.

Худший ответ:
Восстановите предыдущую точку восстановления что-ли....
Вопрос: Что происходит с кодировкой при конкатенации строк Java?

Лучший ответ:
В консоли (cmd.exe) перед вызовом компилятора переключите кодовую страницу командойchcp 1251
Достаточно сделать это один раз при каждом запуске консоли. javac в русскоязычной Windows выводит сообщения в кодировке cp1251, а консоль использует cp866.

Худший ответ:
Возможно, ваш исходник на диске в кодировке Windows-1251. Сохраните его как UTF-8 (без BOM, скорее всего)). Если так и было, то, по кр. мере, теперь вся выводная строка будет в единой кодировке. И должна выводиться или искажаться равномерно)))