Компилирование в .jar Здрасте. Я учусь яве. У меня есть eclipse, netbeans, jdk. Вот я собрал Небольшую программку в эклипсе. Делаю экспорт в jar. Запускаю. В ответ эмулятор пишет: Can not find MIDlet class. Plz check jad or use -midlet param Делал через netbeans и jdk - то же самое. В чем проблема то? Вот код public class a { public static void main(String[] args) { for (int i = 1; i <= 5; i++) System.out.println(i*2-1); } }
[Winner], ты пишешь программу для телефона? Тогда никакого метода main не должно быть. А сама ошибка возникает потому, что в манифесте не указан главный класс. В netbeans его можно указать так: ПКМ на названии проекта, properties, application descriptor, midlets, add. Ну и главный класс должен быть extends MIDlet.
Добавлю еще, что этот JAR нужно запускать не через эмулятор, а через JRE (Java-машину на компе). Вот тогда все будет работать, а результат будет в консоли.
Запутался совсем. Вот в яве для компа System.out.println работает. А в МЕ что? TextBox t = new TextBox("Hello", "Hello, World!", 256, 0); - это как я понял текст выводит, а мне надо чтобы сработал цикл и вывести результат: for (int i = 1; i <= 5; i++) System.out.println(i*2-1); - измените пожалуйста код на понятный для me
Есть ли какой-нибудь класс, или посторонняя библиотека, чтобы разделять строки. Типа из String a = "aw,bw,cw" сделать массив String a[]; чтобы a[0]="aw";a[1]="bw";a[2]="cw";
Как можно объяснить, что такой код: long i = (long) Math.sqrt(n); long i2 = i * i; i = (i << 1) - 1; while(i >= 3) { ___if(n % i2 == 0) { ______return new long[] {(i + 1) >> 1, n / i2}; _} ___i2 = i2 - i; // (i-1)"2 = i"2 - 2*i + 1 ___i -= 2; } выполняется с такой же скоростью, как и for(long i = (long) Math.sqrt(n); i >= 2; i--) { ___if(n % (i * i) == 0) { ______return new long[] {i, n / (i * i)}; _} } ? Ведь умножение должно быть значительно медленнее двух вычитаний? Количество итераций в точности равно.
cHeRsAnYa1, то, что обязательно значительно - не факт. Потому и не надо заниматься микрооптимизацией, если нет реальной нужды: код читать сложнее и силы тратишь, а в готовом приложении узкое горлшыко может быть совсем в другом месте.
cHeRsAnYa1, интересно что бывает одна и та же операция (собственно умножение) с разными числами выполняется за разное время, на эмуляторе сложнее заметить разницу между двумя операциями так как это эмулятор, и он работает на компе, а на се (шестого поколения точно, может и на других) ява транслируется в родной код телефона и исполняется как родная программа, что позволяет повысить скорость и, при изменений полученного родного приложения даже патчить телефон (jjpatcher).
Pavlus, наоборот логично, что с разными числами за разное время Допустим, 11 легче умножить, чем 464848646747435. А код я тестил и на эмуле, и на телефоне. Причём на эмуле код с умножением даже на секунду быстрее На телефоне одинаково (1000 операций, пробовал несколько значений).
26 мая 2010 в 13:16