Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » JAVA Решение задач

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Открыть новую тему     Написать ответ в эту тему

vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Irywka, Lesenochka Девушки, вы неверно поняли назначение данного раздела. Здесь не делают за нерадивых студентов их задания, а помогают найти ошибки, подсказать варианты  или сделать улучшения в уже написанном коде.
Выкладывайте сюда свой код, пишите, что именно не получается, и вам с удовольствием помогут.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 22:49 13-05-2011 | Исправлено: vlary, 22:53 13-05-2011
Lesenochka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если ну никак не получается,а оч надо...к тому же на этом форуме уже решали так задачи.....а вы пишете совсем другое!!!!

Всего записей: 2 | Зарегистр. 13-05-2011 | Отправлено: 20:14 14-05-2011
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lesenochka

Цитата:
если ну никак не получается,а оч надо...

Тогда выкладывайте что не получается. Кто то решает полностью, кто то помогает. Здесь никто никому ничего не обязан (исключение раздел Объявления о работе), поэтому надеяться, что за вас ВСЕ сделает кто то другой, не стоит.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:12 26-05-2011
maybe90

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задание: Разработать приложение-чат. На сервере и клиенте отображаются предаваемые сообщения и время их отправления.  Сервер хранит информацию о переданных сообщениях в текстовом файле.  Предусмотреть возможность редактирования текстовой информации, хранящейся на сервере, клиентом.
 
ВОТ ЧТО ПОЛУЧИЛОСЬ, А ДАЛЬШЕ СТУПОР, ОШИБКИ ВЫДАЕТ...
Код клиента:
 
import java.io.*;
import java.net.*;
 
public class client {
  public static void main(String[] args) throws IOException {
 
    System.out.println("Welcome to Client side");
 
    Socket fromserver = null;
 
    if (args.length==0) {
      System.out.println("use: client hostname");
      System.exit(-1);
    }
 
    System.out.println("Connecting to... "+args[0]);
 
    fromserver = new Socket(args[0],1024);
    BufferedReader in  = new BufferedReader(new InputStreamReader(fromserver.getInputStream()));
    PrintWriter    out = new PrintWriter(fromserver.getOutputStream(),true);
    BufferedReader inu = new BufferedReader(new InputStreamReader(System.in));
 
    String fuser,fserver;
 
    while ((fuser = inu.readLine())!=null) {
      out.println(fuser);
      fserver = in.readLine();
      System.out.println(fserver);
      if (fuser.equalsIgnoreCase("close")) break;
      if (fuser.equalsIgnoreCase("exit")) break;
    }
 
    out.close();
    in.close();
    inu.close();
    fromserver.close();
  }
}
 
Код сервера
 
import java.io.*;
import java.net.*;
 
public class Server {
 
  public static void main(String[] args) throws IOException {
    System.out.println("Welcome to Server side");
    BufferedReader in = null;
    PrintWriter    out= null;
 
    ServerSocket servers = null;
    Socket       fromclient = null;
 
    // create server socket
    try {
      servers = new ServerSocket(3128);
    } catch (IOException e) {
      System.out.println("Couldn't listen to port 4444");
      System.exit(-1);
    }
 
    try {
      System.out.print("Waiting for a client...");
      fromclient= servers.accept();
      System.out.println("Client connected");
    } catch (IOException e) {
      System.out.println("Can't accept");
      System.exit(-1);
    }
 
    in  = new BufferedReader(new InputStreamReader(fromclient.getInputStream()));
    out = new PrintWriter(fromclient.getOutputStream(),true);
    String         input,output;
 
    System.out.println("Wait for messages");
    while ((input = in.readLine()) != null) {
     if (input.equalsIgnoreCase("exit")) break;
     out.println("S ::: "+input);
     System.out.println(input);
    }
    out.close();
    in.close();
    fromclient.close();
    servers.close();
  }
}
 
 ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!
 
Можно на mail: maby90@mail.ru

Всего записей: 1 | Зарегистр. 02-06-2011 | Отправлено: 10:48 02-06-2011
Red Planet



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день! С помощью примера из SDK извлек имена контактов.

Цитата:
private Cursor getContacts() {
        // Run query
        Uri uri = ContactsContract.Contacts.CONTENT_URI;
        String[] projection = new String[] {
            ContactsContract.Contacts._ID,
            ContactsContract.Contacts.DISPLAY_NAME
    };
         
    String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP;
    String[] selectionArgs = null;
    String sortOrder = ContactsContract.Contacts.DISPLAY_NAME;
 
    return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
}

 
Вывел в ListView.

Цитата:
private void populateContactList() {
        // Build adapter with contact entries
        Cursor cursor = getContacts();
        String[] fields = new String[] {
            ContactsContract.Data.DISPLAY_NAME
        };
 
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.contact_entry, cursor,
            fields, new int[] {R.id.contactEntryText});
        mContactList.setAdapter(adapter);
}

 
onCreate моей активити.

Цитата:
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contact_manager);
         
        mContactList=(ListView) findViewById(R.id.contactList);      
         
        // Show contacts.
        populateContactList();
}

 
Как вытащить из ListView имена контактов и преобразовать их в строки?

Всего записей: 215 | Зарегистр. 18-06-2009 | Отправлено: 12:47 16-06-2011
Red Planet



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогли на другом форуме. Если у кого-либо будет такая же задача, то решается она так.

Цитата:
public class ContactManager extends Activity implements OnClickListener {
    ListView lvOfConts;
    Cursor cur;
    CursorAdapter curAd;
    EditText etIn;
    Button butComp;
    ListView lvOfEqs = null;
    TextView twFound;
    ArrayList<String> listOfNames = new ArrayList<String>();
    };
 
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contact_manager);
        
        lvOfEqs = (ListView)findViewById(R.id.lveqs);
        etIn = (EditText)findViewById(R.id.etin);
        butComp = (Button)findViewById(R.id.butcomp);
        butComp.setOnClickListener(this);
        twFound = (TextView)findViewById(R.id.tweqs);
        twFound.setVisibility(4);
        
        lvOfConts = (ListView)findViewById(R.id.lv_all_conts);
        
        cur = getContentResolver().query(
                ContactsContract.Contacts.CONTENT_URI,
                null, null, null, ContactsContract.Contacts.DISPLAY_NAME);
      
            curAd = new SimpleCursorAdapter(this,
                android.R.layout.test_list_item,
                cur,  
                new String[] { ContactsContract.Contacts.DISPLAY_NAME },
                new int[] { android.R.id.text1 });
      
        lvOfConts.setAdapter(curAd);
        
        cur.moveToFirst();
        for (int i=0; i<curAd.getCount(); cur.moveToPosition(++i))
            listOfNames.add(cur.getString(cur.getColumnIndex(ContactsContract.Data.DISPLAY_NAME)));
    }
}

Не знаю, хорошее решение или плохое, так как сам только учусь. Может быть, какие-то данные лишние. Нет времени разбираться, просто скопировал рабочий код.

Всего записей: 215 | Зарегистр. 18-06-2009 | Отправлено: 16:12 21-06-2011 | Исправлено: Red Planet, 16:14 21-06-2011
Casperina

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго  дня!
У меня сложилась проблема - препод задал задачу.  а решить я  сама её не  в  силах  
Прошу помощи:
 
Получить все четырехзначные  натуральные числа,  в записи  каждого  из которых  нет двух  одинаковых цифр.
 
Заранее благодарю!

Всего записей: 1 | Зарегистр. 21-06-2011 | Отправлено: 19:34 21-06-2011 | Исправлено: Casperina, 19:35 21-06-2011
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Casperina
могу идею дать
int a,b,c,d;
int k;
for (int i=1000; i<9999; i++)
{
k=i;
a=k%10;
k=k/10;
b=k%10;
k=k/10;
c=k%10;
d=k;
//и тут дальше сравнения a,b,c,d
}

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 17:18 24-06-2011 | Исправлено: ruslrusl, 18:14 24-06-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ruslrusl
Вы в своём примере уже допустили 2 ошибки - надеюсь вы про них в курсе?..

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 17:47 24-06-2011
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov
исправил, если вы имели эти ошибки...

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 18:15 24-06-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ruslrusl
Сори, там была всего одна и её вы исправили. А вторая мне поглючилась.
 
Добавлено:
А вообще думаю проще тогда уж сделать 4 цикла и не выдёргивать разряды из числа, а наоборот сшивать число из разрядов (хотя если их надо всего лишь выводить - то даже и это делать не надо).

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 18:33 24-06-2011
Lenie06

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть вот такая задача
 Выяснить найдутся ли среди 15 точек на плоскости с координатами х1....х15,у1.....у15 четыре таких,которые являются вершинами квадрата
нашла что-то похожее на паскале....помогите перевести на джава...паскаль вообще не шарю
 
Программа:
{В исходном множестве поочередно перебираются все пары точек.}
{Предполагая, что отрезок, соединяющий эти точки, является ребром}
{квадрата строим квадрат и смотрим, все ли его вершины имеются в}
{исходном множестве. Если все, то определяем, сколько точек из}
{исходного множества лежит внутри этого квадрата. Если это число}
{превосходит старый рекорд то запоминаем найденный квадрат.}
{ }
{$A-,B-,D-,E+,F-,I+,L-,N-,O-,R-,S-,V-}
{$M 65520,0,655360}
uses crt;
const
maxn = 100;{ Максимальное число точек }
type
 xy = record x,y : real end; { Тип для записи координат точек }
var
 m : array[1..maxn] of xy; { Координаты точек множества }
 i,j,g,k,n,p : word; { вспомогательные переменные  }
 num : word; { для записи числа точек в текущем квадрате }
 rec : word; { для записи числа точек в лучшем квадрате }
 a1,b1,c1 : real; { вспомогательные переменные  }
 r,c : array[1..5] of xy;{ для записи вершин квадратов }
 f1,f2 : boolean;
 o : array[1..4] of shortint;
Function sign(a : real) : shortint;{ Функция signum }
begin
 if a<0 then sign:=-1
 else if a>0 then sign:=1
 else sign:=0
end;
{ нахождение коэффициентов прямой,  
проходящей через точки x1,y1 и x2,y2 }
procedure getabc(x1,y1,x2,y2:real; var a,b,c:real);
begin
a:=y2-y1; b:=x1-x2; c:=-(a*x1+b*y1)
end;
begin
 write('Введите число точек...'); readln(n);
 for i:=1 to n do
 begin
 write('Введите координаты ',i,'-ой точки...');
 readln(m[i].x,m[i].y); end;
 rec:=0;{ Обнуление рекорда }
for i:=1 to n do
 { Перебор всех квадратов, для которых отрезок m[i]-m[j] }
 for j:=1 to n do { является ребром }
 if i<>j then
 begin
c[1]:=m[i]; c[2]:=m[j];
 { Определение вершин квадрата }  
 c[3].x:=c[2].x+(c[1].y-c[2].y);
 c[3].y:=c[2].y+(c[2].x-c[1].x);
 c[4].x:=c[1].x+(c[1].y-c[2].y);
 c[4].y:=c[1].y+(c[2].x-c[1].x);
 c[5]:=c[1];
 num:=0;
{ Проверка на наличие всех вершин квадрата  
в исходном множестве точек }
f1:=false; f2:=false;  
for g:=1 to n do  
if (m[g].x=c[3].x) and (m[g].y=c[3].y) then f1:=true;  
for g:=1 to n do  
if (m[g].x=c[4].x) and (m[g].y=c[4].y) then f2:=true;  
 if (c[1].x=c[2].x) and (c[1].y=c[2].y) then f1:=false;
if f1 and f2 then  
{Если все вершины квадрата есть в исходном множестве}
for k:=1 to n do { то определяем число точек в квадрате}
 begin
 for g:=1 to 4 do
 begin
getabc(c[g].x,c[g].y,c[g+1].x,c[g+1].y,a1,b1,c1);
 o[g]:=sign(a1*m[k].x+b1*m[k].y+c1);
 end;
 if ((o[1]=o[2]) and (o[2]=o[3]) and (o[3]=o[4])) or
((o[1]=o[2]) and (o[2]=o[3]) and (o[4]=0)) or  
((o[1]=o[2]) and (o[2]=o[4]) and (o[3]=0)) or  
((o[1]=o[3]) and (o[3]=o[4]) and (o[2]=0)) or  
((o[2]=o[3]) and (o[3]=o[4]) and (o[1]=0)) or  
((m[k].x=c[1].x) and (m[k].y=c[1].y)) or  
((m[k].x=c[2].x) and (m[k].y=c[2].y)) or ((m[k].x=c[3].x)
 and (m[k].y=c[3].y)) or ((m[k].x=c[4].x)  
 and (m[k].y=c[4].y)) then inc(num);
 end;
 if rec<num then begin r:=c; rec:=num end;
 end;
 if rec=0 then { Не найдено ни одного квадрата }
 begin
 writeln('Не найдено ни одного квадрата.'); halt
 end;
 { Вывод результатов }
 write('Лучший квадрат : ');
for i:=1 to 3 do write('(',r[i].x:2:2,

Всего записей: 1 | Зарегистр. 25-06-2011 | Отправлено: 16:26 25-06-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lenie06

Цитата:
помогите перевести на джава...паскаль вообще не шарю  

Паскаль - элементарный процедурный язык, созданный специально для обучения.
Так что если вы шарите в субже, то уж с паскаля перевести - проблем не должно быть - большинство конструкций практически идентичны.
Если что конкретно не понятно - спрашивайте - подскажем.
 
Добавлено:
А вообще если верить комментарию к этой программе, то это немного другая задача.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 21:14 25-06-2011
boromirok



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как-то приходилось мне переделывать из паскаля на джаву.  
Заменить коментарии {бла-бла-бла} на //бла-бла-бла
begin на {
end на }
правильно описать переменные
в if -ах условие взять в скобки(), заменить = на == для базовых типов или equals для строк
в циклах привести к виду for(int i=0;i<max,i++)
и учесть что в java индексы массивов с 0 начинаются
и это будет большая часть работы.
А прога на паскале, которая тут показана, делает избыточную работу - проверяет есть-ли внутри квадратов точки.  
после {Если все вершины квадрата есть в исходном множестве}
for k:=1 to n do { то определяем число точек в квадрате}  
можно выкинуть кусок кода.
 
Добавлено:
for k:=1 to n do { то определяем число точек в квадрате}  тоже выкинуть

Всего записей: 38 | Зарегистр. 20-10-2006 | Отправлено: 04:32 25-07-2011
alin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста подправить скрипт MusicTv.js гаджета AudialsTV для Windows.
Данный гаджет позволяет слушать онлайн радио и телевидение. Проблема в следующем:
1) Как сделать чтобы при включении компьютера гаджет не включал радиостанцию, а это происходило при нажатии кнопки play.
2) Гаджет ломится к себе на сайт для обновления каналов, которые мне не нужны. Хотелось бы прописать туда локальный путь например к ini или txt файлу. Если это не возможно то вообще отключить эту функцию (буду руками вбивать при переустановки системы ).
Вот ссылка со скриптом где всё это прописано:
http://rghost.ru/20720891
Заранее благодарен!

Всего записей: 683 | Зарегистр. 05-08-2004 | Отправлено: 08:32 08-09-2011
smirnvlad

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alin
комментируем строки 247 и 252 (добавляем // в начале строки)
получится
//MusicTv.UpdateChannelList("http://musictv.audials.com/updatechannels_gadget.txt");
//MusicTv.PlayChannel(currentChanelID);
247я чтобы не обновлял каналы, 252я - не играл при запуске

Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 16:41 08-09-2011
alin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
smirnvlad
Огромное спасибо!
Можно ли подправить строку 247 так, чтобы обновление шло через локальный файла например "C://Chanel.txt"

Всего записей: 683 | Зарегистр. 05-08-2004 | Отправлено: 19:26 08-09-2011
smirnvlad

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alin
можно попробовать так
MusicTv.UpdateChannelList("C:\\path\\filename.txt");
или
MusicTv.UpdateChannelList("file://C:/path/filename.txt");

Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 20:27 08-09-2011
alin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
smirnvlad
Ещё раз спасибо, буду пробовать.

Всего записей: 683 | Зарегистр. 05-08-2004 | Отправлено: 23:40 08-09-2011
Peixe

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток. Нужна помошь с решением следушей задачи:
Програма запрашивает линию из 9ти цифр(от 1го до 9ти без повторов) которые вводяться пользователем, затем програма должна проверить:
- Самое большое число это 9, самое маленькое 1;
- Сума всех чисел равна 45
- А продукт чисел равен 362880
Если тру, то линия печатаеться на экране, если нет, то выдаёться сообшение об ошибки и просьба заного ввести линию чисел.
Спасибо за внимание и спасибо за помошь новичьку

Всего записей: 2 | Зарегистр. 06-11-2011 | Отправлено: 21:58 06-11-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » JAVA Решение задач


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru