Люди, не подскажите, как создавать массивы вне метода paint? Когда создаю так: String dim[] = new String[2]; dim[0]="a"; компиль ругается на вторую строчку "Identifier expected", а когда пишу так: String dim[] = {"a","b"}; выдает такую ошибку - Array initializer not allowed for non-array type "java.lang.String". И это при том, что в методе paint массивы создаются без ошибок.
Pavlus, не понял, что ты имеешь ввиду. Вобщем вот код, который компилится без ошибок: import javax.microedition.lcdui.*; public class Test extends Canvas { public Test() { } public void paint(Graphics g) { String dim[] = new String[2]; dim[0]="a"; g.setColor(0); g.drawString(dim[0],0,0,0); } } а этот с ошибкой import javax.microedition.lcdui.*; public class Test extends Canvas { public Test() { } String dim[] = new String[2]; dim[0]="a"; public void paint(Graphics g) { g.setColor(0); g.drawString(dim[0],0,0,0); } }
Namingway, у тебя функция Тест пустая, а код создания находится в теле класса. Так быть не должно. Вне методов возможности сильно ограничены. Засунь строки в метод.
Pavlus, это не функция, это конструктор. Только вот действительно, сейчас тоже заметил, что вообще строчка dim[0]="a"; делает в теле класса? Это ж не объявление переменной, так что это работать не будет, надо переместить в конструктор или метод.
Malcolm, переместил массив в конструктор. Теперь выдает ошибку unknown variable or type "dim" в строке g.drawString(dim[0],0,0,0); т.е. видимость массива ограничивается самим конструктором. Че делать?
Namingway, dim - локальный объект и виден только в пределах метода в котором объявлен. Само объявление вынеси в тело класса, а инициализацию оставь в конструкторе.
можно как-то в ж2ме узнать сколько процентов времени уходит на какой-то код? Хочу узнать сколько колизия заберает времени. Profile Project у меня вообще не выделен и не жмется. Attach Profiler показывает вечно окно с каким-то соединением. кстате, вчем между ними разница?
29 окт 2010 в 08:52