Модераторы: javastic, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Открыть файл, загрузить в массив, нарисовать, Открыть файл, загрузить в массив, нарисо 
:(
    Опции темы
eugine_s
Дата 26.11.2007, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(FoxWMulder @  26.11.2007,  15:52 Найти цитируемый пост)
Как юзать символьные?

А почему надо начинать именно с java2se а не me?


Сам ответил на свой вопрос: чтобы не было вопросов типа: приведения типов? как юзать символьные потоки?


Цитата(FoxWMulder @  26.11.2007,  15:52 Найти цитируемый пост)
Интересно "String mas[];" - компилит, а "String[] mas = new string[10];" - не компилит, почему? собственно мне двухмерный массив нужен, но тут и одномерный не хочет.


Java чувствительна к регистру буквы.

Код


String[] mas = new String[10];

PM MAIL   Вверх
FoxWMulder
Дата 26.11.2007, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Цитата

Java чувствительна к регистру буквы.

а черт... тьфу ты постоянно забываю про это, теперь работает

Статья "Знакомство с ограничениями FileConnection API" не очнь то помогает, случаем библиотеку в проект никакую нинадо импортировать, а то эмулятор стоит K750 но вот это к примеру компилить не хочет
Код

import javax.microedition.io.Connector.file.read;
import javax.microedition.io.Connector.file.write;

только так
Код

import javax.microedition.io.Connector.*;


соотвественно дальше не проходит 
Код

FileConnection fc = (FileConnection)Connector.open("file:///c:/");             


Это сообщение отредактировал(а) FoxWMulder - 26.11.2007, 16:39
PM MAIL   Вверх
eugine_s
Дата 26.11.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Код

import javax.microedition.io.Connector.file.read;
import javax.microedition.io.Connector.file.write;


Что это? В java классы не называются с маленьких букв.

Это скорее всего то что нужно в джад добавить что бы не было запросов от JVM на чтение и запись.

А библиотеку конечно нужно добавить: 

%wtk_home%\lib\jsr75.jar

Чем проект собираешь? WTK? Если да, то в Settings - первая вкладка:
Target Platform: Custom
поставить галочку возле PDA Profile for J2ME (JSR 75)


В следующий раз приводи текст ошибки.

Это сообщение отредактировал(а) eugine_s - 26.11.2007, 16:59
PM MAIL   Вверх
FoxWMulder
Дата 26.11.2007, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Цитата

Что это? В java классы не называются с маленьких букв.

как не называються а вот это у меня работает:
Код

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*; 
import java.io.InputStream;
import java.io.OutputStream;
import javax.microedition.io.Connector.*;


не компилиться я имел ввиду в Sun ONE Studio 4
в WTK  библиотеку добавил

запихнул в массив, правда не правильно немного ну да ладно, тем неменее массив получилься нормальный
но вот так она работает
Код

for (int y2 = 0; y2 < 33; y2++) {//31//32  
    g.drawString(mas[3][y2],x2*80-150*scrx,y2*12+50-200*scry,0);    
}

подставляю любое число вместо тройки она выдает нужный столбец все правильно
но вот так уже не работает, просто ничего не выводит

Код

for (int x2 = 1; x2 < 8; x2++) {//10       
for (int y2 = 0; y2 < 33; y2++) {//31//32  
    g.drawString(mas[x2][y2],x2*80-150*scrx,y2*12+50-200*scry,0);    
}
}

в чем может быть проблема


Цитата

В следующий раз приводи текст ошибки.


текст ошибки

p03.java [24:40] cannot resolve symbol
symbol  : class file  
location: class javax.microedition.io.Connector
import javax.microedition.io.Connector.file.read;
1 error
Errors compiling p03.


Это сообщение отредактировал(а) FoxWMulder - 26.11.2007, 17:18
PM MAIL   Вверх
eugine_s
Дата 26.11.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(FoxWMulder @  26.11.2007,  17:05 Найти цитируемый пост)
как не называються а вот это у меня работает


назвать ты можешь как хочешь класс и с маленькой и с большой буквы, но есть стандарт джава : 
- В названиях классов первая буква большая ( class Test)
- Если в название состоит из двух и более слов, то каждое слово начинается с большой буквы (FoxTest)
И как ты думаешь, если Sun вводит эти правила джава, и разрабатывает WTK то в их классах будут такие ошибки с названиями классов.

Правило не обязательно, но все если хочешь быть хорошим программером, то лучше писать по правилам джава. Про это можно вот тут прочитать:
http://skipy.ru/philosophy/cqComponents.html

А скажика мне javax.microedtion. - это классы ???? smile или все таки пакеты? а вот пакеты как раз и нужно с маленькой буквы называть.

Цитата(FoxWMulder @  26.11.2007,  17:05 Найти цитируемый пост)
текст ошибки

p03.java [24:40] cannot resolve symbol
symbol  : class file  
location: class javax.microedition.io.Connector
import javax.microedition.io.Connector.file.read;
1 error
Errors compiling p03.


это код какой ошибки??? которая сейчас или которая была перед этим?

Добавлено через 5 минут и 18 секунд
Цитата(FoxWMulder @  26.11.2007,  17:05 Найти цитируемый пост)
запихнул в массив, правда не правильно немного ну да ладно


напиши правильно, и если потом не получится будем разбираться в чем проблема.

Тут лучше весь код привести + текст ошибки.

PM MAIL   Вверх
FoxWMulder
Дата 26.11.2007, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



тэк, 
Цитата
запихнул в массив, правда не правильно немного ну да ладно
 тоесть я просто сделал двойную работу
сначало прочитал файл

Код

while(ch != -1)              //  а что есть ch до is.read();                    
 {
       if(ch>128)  
           ch +=0x350;                        // ?
       if(ch==0xD || ch==0xA)
       {
            if (tmpStr.length() > 0)
            {
                 list.append(tmpStr.toString(), null);
                 ylist++;
                 tmpStr.setLength(0);
            }
            else if ( prev_ch==0xA)
            {
                 list.append( "", null);      // ?
                 ylist++;
            } 
       }
       else
           tmpStr.append((char)ch);
       prev_ch = ch;
       try { ch = is.read();
       } catch (Exception E) { ch = -1;}
}


потом из полученного списка забил массив
Код


      mas_x = 0;//13
      mas_y = 0;//34
for (int y3=0; y3 < 848; y3++) {//848
    mas[mas_x][mas_y] = list.getString(y3);
    if (mas_y < 34) {
        mas_y = mas_y + 1;
    }
    if (mas_y == 34) {
        mas_y = 0;
        mas_x = mas_x + 1;
    }
}     
      


вот до этого момента все похоже работает нормально

а вот дальше вообще ничего не рисует
Код

for (int x2 = 1; x2 < 8; x2++) {//10       
for (int y2 = 0; y2 < 33; y2++) {//31//32  
    g.drawString(mas[x2][y2],x2*80-150*scrx,y2*12+50-200*scry,0);    
}
}


Это сообщение отредактировал(а) FoxWMulder - 26.11.2007, 19:24
PM MAIL   Вверх
eugine_s
Дата 26.11.2007, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



848 а может 798 (или сколько там было)?

что вообще это за магические числа: 848, 34, 80, 150, 12, 50, 200 ?

что значит вообще не рисует? 
просто ничего не выводит на экран или бросает Exception?
Если не выводит на экран проверь чтобы выводилось в консоль: System.out.println();
Если Exception - телепаты в отпуске. Где текст ошибки.

Кстати а что такое: list - это экземпляр класса List????  smile . Если да, то он же сам Displayble т.е. его можно отображать на экране, зачем ты его используешь в качестве контейнера строк? Ведь строки ты потом хочешь отобразить на Canvas-e. Используй уже хотя бы java.util.Vector();

Приведи полное задание того что ты хочешь сделать: считать файл и т.д. 

и приаттач так же файл с исходниками.

Код


mas_x = mas_x + 1;

// вот так проще

mas_x++;



PM MAIL   Вверх
W0LF
Дата 26.11.2007, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Ну, теперь дебажить нужно. 
Проходим по массивам, смотрим че у нас в mas[x2][y2], если то, что нужно, то смотрим на координаты, че с ними делается, может просто рисуется где-то за экраном.
попробуй заменить
Код

g.drawString(mas[x2][y2],x2*80-150*scrx,y2*12+50-200*scry,0);

на 
Код

g.drawString(mas[x2][y2], x2*80-150*scrx, y2*12+50-200*scry, Grpaphics.LEFT | Graphics.TOP);



--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
FoxWMulder
Дата 26.11.2007, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



 smile 
PM MAIL   Вверх
FoxWMulder
Дата 27.11.2007, 03:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Код

      int mas_x = 1;
      int mas_y = 1;
      
      for (int y3 = 3; y3 < 374; y3++) { // !! если ставлю 100 то все работает, больше - не работает
          mas[mas_x][mas_y] = list.getString(y3);
          mas_y = mas_y + 1;
         // if (mas_y<33) {
         //     mas_y = mas_y + 1;
         // }
          if (mas_y == 34) {
              mas_y = 1;
              mas_x = mas_x + 1;
          } 
      }
      
  ylist2 = 3;//3
  
  
  
for (int x2 = 1; x2 < 11; x2++) {//10
    for (int y2 = 1; y2 < 34; y2++) {//31//32  
        //g.drawString(mas[x2][y2],x2*80-150*scrx,y2*12+50-200*scry,0); 
        g.drawString(mas[x2][y2],x2*20-150*scrx,y2*12+50-200*scry,0); 
  //g.drawString(mas[1][5],20,20,0); 
    }
}


но белее менее работает, дорабатывать будь потом, надо вообще сесть и на бумаге прикинуть как все должно работать
а сейчас если честно сказать меня уже больше волнует как сделать выбор файла, вы уже во многом мне помогли если расскажите по пунктам как реализовать выбор буду вААбще очень признателен

Цитата

что вообще это за магические числа: 848, 34, 80, 150, 12, 50, 200 ?

да это все к разговору о размере файла

Цитата

что значит вообще не рисует? 

да ет ошибка какаято в коде она мне не выдает ошибки просто не рисует и все smile

Цитата

Кстати а что такое: list - это экземпляр класса List????

ну да 
Код
List list = new List("Меню", List.IMPLICIT);
 "Меню" - эт название его чтоли? для чего...
вообще лучше наверно прямо в массив загонять, только файл над по частям в разные массив

Код
mas_x = mas_x + 1;
 так привычней, пока чтоб не путаться стараю так

Это сообщение отредактировал(а) FoxWMulder - 27.11.2007, 04:17
PM MAIL   Вверх
eugine_s
Дата 27.11.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(FoxWMulder @  27.11.2007,  03:38 Найти цитируемый пост)
меня уже больше волнует как сделать выбор файла


Я так понял, что тут: один вопрос - одна тема.
Но перед этим пройтись поиском по похожим темам.


Цитата(FoxWMulder @  27.11.2007,  03:38 Найти цитируемый пост)
да это все к разговору о размере файла


Нет. Это к разговору о "взятии чужого кода".
У тебя в коде, когда идет чтение из файла, то не нужно знать его размер - это скорее всего ты сам уже дописал.



Цитата(FoxWMulder @  27.11.2007,  03:38 Найти цитируемый пост)


Кстати а что такое: list - это экземпляр класса List????

ну да 


Объясняю подробнее. List - класс который можно сделать Display.getDisplay().setCurrent(List) - т.е. его можно отобразить на экране. Он содержит много методов и только несколько из этих методов работы со строками. И ты очень нерационально (не правильно!) используешь для своей цели List.


Цитата(FoxWMulder @  27.11.2007,  03:38 Найти цитируемый пост)
"Меню" - эт название его чтоли? для чего...

 smile 


PM MAIL   Вверх
FoxWMulder
Дата 27.11.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



везде пишут как открыть файл но нигде как выбрать файл
http://forum.vingrad.ru/faq/topic-158027.html
http://forum.vingrad.ru/forum/topic-63746/...tion/index.html

ты мне объясни почему если я добавляю вот такую строку
Код
import javax.microedition.io.Connector.file.read;

то она мне выдает ошибку

p03.java [24:40] cannot resolve symbol
symbol  : class file  
location: class javax.microedition.io.Connector
import javax.microedition.io.Connector.file.read;
1 error
Errors compiling p03.

Цитата
Нет. Это к разговору о "взятии чужого кода".
 Как по твоему я вообще должен учиться этому языку, теория конечно нужна и я признаю что мне ее не хватает, но если я сейчас буду изучать одну теорию - у меня всякое желание пропадет вообще заниматься этим


Это сообщение отредактировал(а) FoxWMulder - 27.11.2007, 16:37
PM MAIL   Вверх
FoxWMulder
Дата 27.11.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



как перевести из String в Integer
PM MAIL   Вверх
eugine_s
Дата 27.11.2007, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(FoxWMulder @  27.11.2007,  16:26 Найти цитируемый пост)
везде пишут как открыть файл но нигде как выбрать файл


javax.microedition.io.file.FileSystemRegistry - можно получить список root каталогов.
каталог - тот же файл

javax.microedition.io.file.FileConnection.isDirectory()  - проверка на каталог.

Получил список root-каталогов, добавил в list

c:/
e:/

пользователь нажал выбрать (например c:/)
удалил все записи из list
добавил содеждимое ФАЙЛа c:/ (FileConnection.list()  в list + добавил ".." - для возврата на уровень выше.

вообщем так дальше.....
Думай сам.



Цитата(FoxWMulder @  27.11.2007,  16:26 Найти цитируемый пост)
ты мне объясни почему если я добавляю вот такую строку
    
import javax.microedition.io.Connector.file.read;

то она мне выдает ошибку


Ответ уже был дан: в Java классы не начинаются с маленькой буквы (кроме классов начинающих программеров). Отсюда выход какой? Такого класса просто нет.



Цитата(FoxWMulder @  27.11.2007,  16:26 Найти цитируемый пост)
Как по твоему я вообще должен учиться этому языку, теория конечно нужна и я признаю что мне ее не хватает, но если я сейчас буду изучать одну теорию - у меня всякое желание пропадет вообще заниматься этим


Обычно теория + практика. Берешь книгу. Прочитал главу - написал программку. и так далее.

Почему тебе тут должны объяснять то что есть в ЛЮБОЙ книге по java? 

Цитата(FoxWMulder @  27.11.2007,  18:05 Найти цитируемый пост)
как перевести из String в Integer 


"Зачем мне теория", да?

Java это в первую очередь - ООП, а потом уже язык программирования. Из тебя не будет программера Java, если ты не знаешь и не используешь в Java ООП. 
А ты не то, что ООП не знаешь, так ты даже основы Java не прочитал.

PM MAIL   Вверх
shomer
Дата 27.11.2007, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Извиняюсь за грубость но - Пора эту бодягу заканчивать - сильно смахивает на ясли.. 
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.1071 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.