Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
AvengerAlive
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
1

Из C++ в Java

02.07.2012, 19:02. Просмотров 669. Ответов 4
Метки нет (Все метки)

Как переписать это:
C++
1
2
3
4
void swap( int *x, int *y ) {
    int temp;
    temp = *x; *x = *y; *y = temp;
}
на Java?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2012, 19:02
Ответы с готовыми решениями:

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ?
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье, плиз, новичку, по MSDN...

Посоветуйте примеры кода по Java. Теория прочтена, но с языком Java не знакома
Или может кто может дать готовый код. В теории вроде бы не очень сложно. :cry: 1.Напишите...

При работе JVM обвалвается java c кодом Java Result 1073807364.
При работе JVM обвалвается java c кодом Java Result 1073807364. Если кто-нибудь знает, помогите...

Хочу стать Java программистом, здесь есть Java программисты?
Здравствуйте, я хочу стать Ява программистом, если здесь есть Ява программисты, пж подскажите плюсы...

Актуально ли изучать java сейчас по книге, где примеры в java 5?
Книга "Изучаем Java"Берт Бейтс, Кэтти Сьерра .До этого ничего не читал по java

4
turbanoff
Эксперт Java
4019 / 3754 / 742
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
02.07.2012, 21:02 2
никак - в java нет указателей.
Тип int передается по значению. Родная обертка для int - Integer, но она immutable.

Либо использовать свою mutable обертку для чисел
Либо руками всегда менять значения.

Зачем вообще выносить такой примитивный код в отдельный метод?
0
mutagen
2565 / 2238 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
02.07.2012, 23:31 3
Цитата Сообщение от turbanoff Посмотреть сообщение
никак - в java нет указателей.
можно читерить при помощи врапперов, тогда произойдёт обмен ссылками
Java
1
2
3
4
5
6
7
    void swap(Integer x, Integer y) {
        Integer temp;
        temp = x;
        x = y;
        y = temp;
        temp = null;
    }
0
turbanoff
Эксперт Java
4019 / 3754 / 742
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
03.07.2012, 06:57 4
mutagen, Не те врапперы используете, я же отписал Integer - немутабельный.
http://ideone.com/TWNxj

Я думаю самой логичной заменой будет такой метод.
Java
1
2
3
4
5
6
static void swap(int a[], int x, int y) {
        int temp;
        temp = a[x];
        a[x] = a[y];
        a[y] = temp;
    }
В других случаях проще написать содержимое метода непосредственно в коде.
1
mutagen
2565 / 2238 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
03.07.2012, 07:35 5
Цитата Сообщение от turbanoff Посмотреть сообщение
Не те врапперы используете, я же отписал Integer - немутабельный.
в исходной задаче и не требуется мутировать, там обмен ссылками и в моём варианте обмен ссылками, если делать на int то обмен значениями, мой вариант по поведению с памятью ближе к оригиналу.
подумал, проверил - таки да невозможно, да без использования посредником мутабельного элемента обмен ссылками невозможен
0
03.07.2012, 07:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2012, 07:35

Какие шаги предпринять для овладения java и какую среду java посоветуете?
Пока сть опыт по Visual С, Basic; Borland Delphi, CBuilder. Хочется и в java разбираться.

Вывести на экран текст: полное имя файла java.exe из установленного пакета java
Я тока недавно начал учить этот язык. Подскажите как это делается или приведите код к примеру. ...

Как вызвать код из FileLog.java в My30.java ?
Доброго вечера всем,у меня возник вопрос(Может даже нубский.). Так вот у меня есть в 1 проекте в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru