| |||||||
Программирование Создание, разработка и доработка различных игр и программного обеспечения |
|
|
Опции темы |
04.10.2010, 10:21 | #1 | ||
Dis is one half
Регистрация: 19.10.2007
Адрес: Санкт-Петербург
Сообщений: 1,460
Репутация: 304
|
Java
Особенностью этого языка программирования является то, что программа компилируется не в коды процессора, а в специальный байт-код, который потом исполняется виртуальной ява-машиной. За счет этого достигается кросплатформенность: программы написанные на Java запускаются и одинаково работают и в Windows и Linux и MacOS и т.д. без изменений исходного кода. От аналогичного подхода к компилации в .NET отличается тем, что в Java виртуальная машина выполняет инструкции байт-кода, а в .NET программа "докомпилируется" перед запуском. Платформа Java подразделяется на три типа:
К языку прилагается огромное количество библиотек на все случаи жизни: от 2D и 3D графики, до баз данных и криптографии. Библиотеки Java: Скрытый текст: Последний раз редактировалось OneHalf; 16.01.2011 в 03:58. |
||
|
06.10.2010, 17:52 | #2 | ||
Юзер
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61
|
Код:
public class HelloWorld { public static void main(String[] args) { HelloWorld hw = new HelloWorld(); hw.showString(); } public void showString() { System.out.println("Hello, World!"); } }
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь... Последний раз редактировалось Arantar; 06.10.2010 в 17:58. |
||
|
06.10.2010, 21:29 | #4 | ||
Юзер
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61
|
OneHalf, у меня вместо русских букв кракозябра в командной строке получается.
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь... Последний раз редактировалось Arantar; 06.10.2010 в 21:32. |
||
|
06.10.2010, 22:56 | #5 | ||
Dis is one half
Регистрация: 19.10.2007
Адрес: Санкт-Петербург
Сообщений: 1,460
Репутация: 304
|
Хе хе, похоже дело в том, что виндовая консоль понимает только кодировку cp866, а ява хочет туда вывести utf.
Можно сделать так: Код:
package javatest; import java.io.UnsupportedEncodingException; public class HelloWorld { public static void main(String[] args) { HelloWorld hw = new HelloWorld(); hw.showString(); } public void showString() { try { System.out.println(new String( "Привет, мир!".getBytes("Cp866"))); // Перекодировка } catch (UnsupportedEncodingException uee) { // Приходится перехватывать это исключение :( System.out.println("Hello, World!"); } } } Никогда не запускал раньше программы из консоли, и все результаты всяческих System.out.println("бла-бла") видел только внутри NetBeans, где они отображаются правильно. |
||
|
06.10.2010, 23:05 | #6 | ||
Юзер
Регистрация: 08.09.2007
Сообщений: 271
Репутация: 61
|
Сам бы рад, но обстоятельства. И с почином, кстате.
Что-то не выходит, выдаёт следующее, будем думать... Скрытый текст:
__________________
"Надежда умирает последней", - сказала Вера и застрелила Любовь... Последний раз редактировалось Arantar; 06.10.2010 в 23:18. |
||
|
13.10.2010, 01:52 | #9 | ||
Dis is one half
Регистрация: 19.10.2007
Адрес: Санкт-Петербург
Сообщений: 1,460
Репутация: 304
|
Во всех учебниках одно и тоже пишут. Лично я всегда придерживаюсь такой концепции изучения языков:
1. Накачать кучу учебников 2. Изучить самый тонкий 3. Начать писать какую-нибудь большую программу (когда я изучал Java, я писал прогу по расчету шума от вентиляции (на работе акустикой занимаюсь)). Тут главное масштабность и разнообразие необходимых методов программирования, а не сама программа. 4. Успеть понять, что нифига в языке не понятно. 5. Писать программу как можешь, постоянно заглядывая в самый толстый учебник и гугл 6. Периодически просматривать написанный код и, в случае необходимости, переписывать с учетом приобретенных знаний 7. Можно считать себя знатоком языка, если переписал свою программу почти целиком пару раз :) Последнее утверждение эмпирическое, но примерно так у меня было со всеми языками:
Почти везде назревала необходимость переписать программу, т.к. по началу она писалась на основе опыта в других языках, а текущий язык предоставлял какие-либо дополнительные возможности для упрощения кода. Некоторые языки воспринимаются легко и без таких методов. Например, С# создавался почти как клон явы, и отличается совсем чуть-чуть. (Зная только C# или яву, можно легко читать листинги другого языка) В общем чтобы научиться программировать, надо начать это делать. Учебник по сути не важен, важно чтобы была практика и возможность найти решение возникающих проблем по мере накопления этой практики. |
||
|
13.10.2010, 20:05 | #10 | ||
Зинеб Нора
Регистрация: 30.06.2003
Адрес: Köln, Germany
Сообщений: 962
Репутация: 420
|
Естъ небольшая проблемка.
Нужно соединитъ два массива вместе используя System.arraycopy() т.е. приципить один к концу другого. На сколько мне известно, изменять размер существующего массива нельзя, т.е. следующий код не пройдет: Скрытый текст: можно ли как-то обойти это ограничение, кроме как создать третий массив с размерностью равной сумме размерностей первых двух и скопироватъ сначала первый, а затем второй? т.е. кроме как так: Скрытый текст:
__________________
Жив. Цел. Тигръ Графоман "Method takes the string and string to split. And split the string at string to split, also add space at the end of the string if string ends with string to split." Рисуем вместе Последний раз редактировалось lorin; 13.10.2010 в 20:24. |
||
|
13.10.2010, 20:51 | #11 | ||
Dis is one half
Регистрация: 19.10.2007
Адрес: Санкт-Петербург
Сообщений: 1,460
Репутация: 304
|
Нельзя. При создании массива под него выделяется память, размер которой изменить нельзя. Так что если нужны именно массивы, то нужно создавать новый с нужным размером.
Но можно еще использовать коллекции. Это классы, которые могут хранить переменное количество элементов, запрашивая, если нужно, у ОС новые куски памяти при изменении набора элементов. В таком случае можно будет даже использовать цикл типа: for(Integet n : Коллекция<с типом Integer>) { ... } |
||
|
13.10.2010, 23:17 | #12 | ||
Зинеб Нора
Регистрация: 30.06.2003
Адрес: Köln, Germany
Сообщений: 962
Репутация: 420
|
OneHalf, да, я в курсе, потому и удивился заданию. Буквально:
имеется два массива array, нужно к первому прицепить второй, а ко второму первый и все это при помощи метода System.arraycopy() При этом логически я допускаю что во-первых содержимое массивов должно оставаться без изменений, т.е. если в массиве X элементов, то все они должны остаться, даже если это нули. Ну а во-вторых если я создам третий массив, то это уже формально будет не первый. Единственное можно после создания третьего массива, содержащего объедененные элементы первого и второго, поменять указатели последних на третий. Но формально это тоже не является объединением массивов. Вобщем я считаю, что задание сформулированно некорректно. Следующим заданием по скрипту бы было увеличение заданного array of integer на 10 integer элементов при помощи того же метода. И тут мне тоже ничего иного в голову не идет, кроме как повторения предыдущей песни, но с пустым вторым массивом на 10 элементов. Задания начального уровня, подразумевается, что обучающийся только познакомился с имплементацией массивов и метода System.arraycopy().
__________________
Жив. Цел. Тигръ Графоман "Method takes the string and string to split. And split the string at string to split, also add space at the end of the string if string ends with string to split." Рисуем вместе |
||
|
24.10.2010, 15:14 | #15 | ||
Зинеб Нора
Регистрация: 30.06.2003
Адрес: Köln, Germany
Сообщений: 962
Репутация: 420
|
Arantar, плюс, хоть это и очевидно и думаю не имеет отношения к проблеме, нет ввода данных для s1
__________________
Жив. Цел. Тигръ Графоман "Method takes the string and string to split. And split the string at string to split, also add space at the end of the string if string ends with string to split." Рисуем вместе |
||
|
24.10.2010, 18:02 | #17 | ||
Зинеб Нора
Регистрация: 30.06.2003
Адрес: Köln, Germany
Сообщений: 962
Репутация: 420
|
__________________
Жив. Цел. Тигръ Графоман "Method takes the string and string to split. And split the string at string to split, also add space at the end of the string if string ends with string to split." Рисуем вместе |
||
|
|