Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Need Java-help или первые шаги в Java-программировании.

Автор: Sherhanius
Дата сообщения: 21.10.2010 14:16
Есть JBuilder например
Автор: Black_Lung
Дата сообщения: 18.04.2011 16:10
Где найти справку по языку желательно с поиском по ключевым словам и примерами, примерно так как в Visual C или Visual Basic.

Язык можно англ или русск.
Автор: Garrett
Дата сообщения: 18.04.2011 16:40
Black_Lung
Java SE 6 Documentation
http://www.oracle.com/technetwork/java/javase/downloads/index.html
там же есть еще java tutorial...
Автор: Black_Lung
Дата сообщения: 20.04.2011 10:50
Спасибо конечно, пригодится, но в качестве справки не подходит, без поиска все таки очень неудобно, и по языку там нифига нет, и еще половина ссылок идет в инет

Вот это то что надо мне по языку но тоже без поиска
http://java.sun.com/docs/books/jls/third_edition/download/langspec-3.0.zip

Теперь нужно это всё вместе в одной системе справки и с поиском




Автор: LokAr
Дата сообщения: 23.05.2011 14:39
Начал делать програмки для телефонов на J2ME в NetBeans
Возник вопрос как использовать русские шрифты в SVG
Там сам код в XML с описанием шрифта по-символьно но только латиница, делал конвертацию шрифтов с кириллицей через Batik, но он в выходном файле тоже только латиницу рисует.
Помогите с проблемой а то квадратики на экране.
Может есть возможность в SVG внешний ttf использовать? Или он сам может конвертить как-то так?
Googleние толку мало даёт, в основном batik

Добавлено:
или может готовые шрифты русские в SVG есть?
Автор: Red Planet
Дата сообщения: 21.06.2011 16:41
Добрый день!

Есть вопрос. Пишу свое посимвольное сравнение (условия задачи не позволяют equalsIgnoreCase применять). Проблема в том, что при сравнении игнорируется последний символ введенной строки (этот способ закомментирован), в незакомментированном все работает.

Например.
Введенная строка: And
Имена: Andrey, Anton
В список совпадающих вносится: Andrey.
Anton не вносится, так как третья буква t, а не d. Так и должно быть.

В неработающем if последняя буква введенной строки игнорируется.
Например.
Введенная строка: Anw
Имена: Andrey, Anton
В список совпадающих вносится: Andrey, Anton.

Код (неработающий if помечен красным, а работающий зеленым).

Цитата:
ArrayList<String> listOfEqs = new ArrayList<String>();
    for (String t: listOfNames) {
        int endOfStr = Math.min(etIn.getText().toString().length(), t.length());
        int cntOfEqSimbs = 0;
        for (int i=0; i<endOfStr; ++i) {
            if (t.substring(i, i+1).equalsIgnoreCase(etIn.getText().toString().substring(i, i+1)) && !listOfEqs.contains(t)) {
                cntOfEqSimbs++;
            } // if.
            if (cntOfEqSimbs==etIn.getText().toString().length()) listOfEqs.add(t);

            
            /* if (!t.substring(i, i+1).equalsIgnoreCase(etIn.getText().toString().substring(i, i+1)) || listOfEqs.contains(t))
                break;    
                // listOfEqs.add(t);
            
            */  

        } // nested for.
    } // for.
        
    twFound.setVisibility(0);
    lvOfEqs.setAdapter(new ArrayAdapter<String>(this, android.R.layout.test_list_item, listOfEqs));
} // onClick.


listOfNames - массив строк, источник имен для сравнения.
listOfEqs - массив строк, в который вносятся совпадающие имена.
endOfStr - предел, до которого сравниваем (нужен, так как не знаем, что будет короче: имя или введенная строка.
etIn - EditText, в который вводится строка для сравнения с именем.
cntOfEqSimbs - счетчик совпадающих символов (нужен для отбраковки: если хотя бы одна буква не совпадет, то имя не будет внесено в список совпадающих).

Да, у меня есть работающий if, но неработающий нравится больше, так как там нет лишней переменной cntOfEqSimbs и второго if.
Автор: boromirok
Дата сообщения: 25.07.2011 03:03
Red Planet
А почему вы используете t.substring(i, i+1)
а не t.charAt(i)
?
по-моему код будет проще, стройнее, можно будет пользоваться == вместо equalsIgnoreCase
который, кстати, вам применять нельзя, как вы описали.
Еще проще t.indexOf(subStr, 0) применять

Добавлено:
Ух, не посмотрел на дату.
Видимо припоздал я с советами своими.
Автор: Red Planet
Дата сообщения: 20.08.2011 16:28
boromirok, да, поздновато вы ответили.
substring там используется, так как в строке может рассматриваться не символ, а группа символов. charAt там использовать не получится.

У меня другой вопрос. Знал раньше, что есть функция codePointAt (int indx), возвращает она значение кодовой точки символа на позиции indx. Впервые посмотреть решил. Понять не могу, почему именно такое число она возвращает.


Цитата:
String t = "Activity";
int a = t.codePointAt(0);
System.out.print(a);


Кодовая точка - значение, связанное с символом в схеме кодирования. Записывается в виде U+0000 для базовой кодовой плоскости. Вопроса не было бы, если бы в ответ получил шестнадцатиричное 41 или эквивалентное ему десятичное число 101.

System.out.print(a) выводит 65. Это не код латинской A (u+0041) в UTF-16. Откуда число 65 и что оно значит?

Решено.
65 в десятичной системе - это 41 в шестнадцатеричной.


Автор: stasnewar
Дата сообщения: 13.08.2012 15:59
Здравствуйте.

В общем есть сервер написаный на С, на котором прописан протокол передачи информации между сервером и клиентом. Моя задача создать GUI на Android. Доступа к серверу пока не имею. Было сказано создать эмулятор на том же языке С. Смысл в том, что бы сервер адекватно реагировал на запросы клиента. Вроде задача несложная, начал создавать, но вот столкнулся с проблемой:

допустим у нас есть такой код на сервере


Код:
unsigned char message[30]
........
message[0] = 'Q';
message[1] = 0x03;
message[2] = 0x01;
message[3] = 0x01;
message[4] = 0xFE;
........
nbytes = write(sockfd, message, strlen(message));
Автор: adasiko
Дата сообщения: 13.08.2012 17:51

Цитата:
данные доходят только после завершения соединения

ну так само собой
PS: могу скинуть свой проектик по реализации удалённых утилит imp/exe для оракла, в 11 ой версии xe на instant client перевели, а без утилит экспорта-импорта дампа на клиентах тяжело. Клиент написан на c++, сервер на java
Автор: stasnewar
Дата сообщения: 13.08.2012 19:29

Цитата:
ну так само собой

Дело в том, что вчера все работало отлично. При создании BufferReader не объявлял размер буфера, т.е.

Код: BufferedReader bufReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
Автор: stasnewar
Дата сообщения: 17.08.2012 22:38
Проблемы решил.
Вместо BufferedReader использовал BufferedInputStream. Воспользовался функцией read(byte[] b).
Число 65533, скорее всего появлялось из-за того, что сервер высылает unsigned byte, а функция read(char[] c) ждет ASCII код и, когда получает "непонятный" код, начинает свои какие-то странные преобразования.
Соответственно функция read(byte[] b) не решила проблем с интерпретацией. Пришлось прописать функцию типа:

Код:
private int unsignedByteToInt(byte b) {
    int out;
    out = b < 0 ? b + 256 : b;
    return out;
}
Автор: SuperDimon007
Дата сообщения: 24.09.2012 17:54
Помогите упихать программу в цикл:

Код: remoteViews.setTextViewText(R.id.sub1,
        android.text.Html.fromHtml("<b>" + sub[0] + "</b>"));
remoteViews.setTextViewText(R.id.sub2,
        android.text.Html.fromHtml("<b>" + sub[1] + "</b>"));
remoteViews.setTextViewText(R.id.sub3,
        android.text.Html.fromHtml("<b>" + sub[2] + "</b>"));
            ................
Автор: adasiko
Дата сообщения: 24.09.2012 18:59
SuperDimon007
Ну создать массив, итератор, вектор... из этих элементов, иначе никак
ЗЫ: про динамический код не буду даж заикаться - ибо андройд
Автор: stasnewar
Дата сообщения: 10.01.2013 17:34
Добрый день.

Суть проблемы в следующем. Есть класс, описывающий устройство:

public byte[] spn_version = new byte[2];
public byte max_args;
public byte max_depth;
public byte conceptsNum;
.....

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

byte[] image = new byte[100];

image[0] = spn_version[0];
image[1] = spn_version[1];
image[2] = max_args;
image[3] = max_depth;
image[4] = conceptsNum;
......

Решение с reflection работает, на "чистом" java, как только перехожу на android, метод getFields() возвращает поля в какой-то, для него понятной, последовательности.

Все это нужно для коммуникации сервера (язык С) и клиента Андроид.

Класс очень большой, писать ручками - нелогично.
Может как-то при помощи сериализации достать значения полей класса?
Кто подскажет куда копать?
Автор: VitRom
Дата сообщения: 11.11.2013 12:16
Вопрос немного оффтопный, но подходящей ветки не нашёл, да и деплоймент таки близко связан.

Есть на выбор JRE 6u65 и 7u45 (ага, та самая, "с повышенной безопасностью").
Расчитывать лучше на 6-ку, а то в следующих 7-ках вроде ещё больше строгостей обещали.
Есть сайт с несколькими апплетами, работающими в т.ч. и с локальными файлами.
Апплеты подписаны самопиской, а некоторые, вроде, и вообще ничем.
Сайт и URL-ы аплетов постоянные.

Как убрать запросы на неограниченный (или как его там) запуск апплетов с UNKNOWN сертификатами с этого конкретного сайта?
Может, можно хоть как-то привязаться к url и забыть про всё остальное?

Добавлено:
ЗЫ. сайт -- "сторонний", всякие перекомпиляции невозможны
Автор: A_V
Дата сообщения: 11.11.2013 21:07
VitRom
для jre1.6 может прокатит выставление
Java Control Panel -> Advanced -> Security -> Mixed Code -> disable verififcation
для семерки так просто не убрать
Автор: VitRom
Дата сообщения: 12.11.2013 10:09
A_V, спасибо за идею, попробую позже, пока, к сожалению, нет возможности.

Однако НЯП это же потенциальная бааальшая дыра, нет? Хотелось бы убить двух зайцев: разобраться с именно этим сайтом и одновременно сохранить возможность максимально безопасно использовать сабж в других местах Сети. И что вообще понимается под "миксед кодом"? Начал было копать Оракловские доки по деплойменту, но пока только ещё больше запутываюсь...
Автор: sonicyouthru
Дата сообщения: 27.07.2014 16:41
Добрый день!

Java-апплет ("Java-based BEM program for Fracture analysis for 2-D anisotropic solids": http://rci.rutgers.edu/~denda/e-Handbook/installation.html#winstallation ) не запускается в браузерах IE и Opera ("Security Level: Medium"). В чем может быть проблема? Пробовал на WinXP и Win7. Использовал Java Standart Edition v7. Установку делал по инструкции ( http://rci.rutgers.edu/~denda/e-Handbook/installation.html#winstallation ):

Цитата:
"In order to run the e-Handbook, the browser must be have Java Platform properly installed and the security properly setup. Java Standard Edition can be downloaded from the SUN site. Look for Java Runtime Environment (JRE) 5.0 or newer. Click Download and look for the Window system to download the self-extracting file. Once the download process is completed, run the executable and follow the onscreen instructions to install.

The Java Policy file is required for the e-Handbook to Save, Load and Execute the Fortran file. Click Java Policy File and save the file to the user.home\.java.policy. (Note that the file has two periods, one before and after 'java'.) Here user.home refers to the value of the system property named user.home, which specifies the user's home directory. For example, if the user logged on as Mitch, save the file into C:\Documents and Settings\Mitch\.java.policy. Restart the computer so Windows can load the new security settings.

Download the e-Handbook. The e-Handbook can be unzipped to a folder e-Handbook, which can be placed anywhere on the PC. In the e-Handbook folder, go to the "gui" directory to look for the file index.html file. The e-Handbook can be started by clicking index.html file. Current Installation is good for Windows platform only. Linux and Unix Installation will be available later."


Апплет можно скачать с сайта разработчика:
http://rci.rutgers.edu/~denda/e-Handbook/downloads/.java.policy
http://rci.rutgers.edu/~denda/e-Handbook/downloads/e-Handbook.zip

Вид ошибки:





Автор: KALINI
Дата сообщения: 16.08.2014 23:24
есть слегка муторный сайт по обучению java -программированию,но зато материал очень легок в усвоении новичку,наверное даже самому туп..му http://www.webok.info/ru
не реклама саита,а просто мне нужны люди для набора в группы для бесплатного коллективного обучения языку
Автор: PLAYYOB
Дата сообщения: 21.11.2014 13:01
Привет. Учусь с 0. Стоит задача
Цитата:
Написать программу, выводящую на экран надпись «Лила самая красивая» 5 раз. Каждый раз – с новой строки.


Пробую так:

Цитата:
public class Solution
{
public static void main(String[] args)
{String s = "Лила " + "самая " + "красивая";
System.out.printIn(s);

}
}

Выдает ошибку: error: cannot find symbol
System.out.printIn(s);
^
symbol: method printIn(String)
location: variable out of type PrintStream
1 error

Если же пишу просто System.out.print(s); то выводит текст. В чем ошибка?
Автор: Garrett
Дата сообщения: 21.11.2014 13:08
PLAYYOB
не printIn, а println (маленькая L вместо I)

Код: public class Solution
{
public static void main(String[] args)
{
for( int i=0; i<5; ++i) {
System.out.println( "Лила самая красивая");
}
}
}
Автор: PLAYYOB
Дата сообщения: 21.11.2014 13:17
Garrett
О, благодарю!

Автор: PLAYYOB
Дата сообщения: 27.12.2014 18:06
Здравствуйте. Учусь с 0.
Решаю задачу:


Цитата:
public class Solution
{
public static int min(int a, int b)

int m2;
if (a < b)
m2 = a;
else
m2 = b;
return m2;
}


Тут все понятно. Но если нужен минимум (максимум) из 20-40 чисел ?.. Наверняка есть какая-то функция, подскажите.
Автор: Garrett
Дата сообщения: 28.12.2014 06:57
PLAYYOB
Я бы предложил сделать функцию, которой передаётся массив чисел. А там надо в цикле по массиву пробежаться...

Страницы: 12345

Предыдущая тема: Вакансия поддержка ПО


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.