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

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

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

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

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

Jeweller787

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я так делал, вот:
 
double a,b,c;
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
a = jTextField1.getText();
 
я так понял не совподают типы, какой переменной должна быть а?

Всего записей: 7 | Зарегистр. 20-10-2009 | Отправлено: 17:57 22-04-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возник вопрос, кто поможет буду благодарен.  
Стоит задача:
Имеется в виду отдел кадров некоторого предприятия, выпускающего некий вид продукции. Сотрудники делятся на руководителей и исполнителей.
Сотрудник имеет: индекс, ФИО, должность, возраст, оклад, стаж работы, продолжительность отпуска.
Руководитель имеет: рейтинг популярности у сотрудников.
Исполнитель имеет: процент брака при изготовлении продукции.
Первых 5 человек с наибольшим процентом брака штрафовать уменьшением оклада на 10%
 
Я выбрал следующую структуру. Создал класс Person и от него два наследника

Код:
 
abstract public class Person {
 
    public int id,age, salary, experience, holiday;
    public String name,post;    
    abstract public String toString();
}
 

 

Код:
 
public class Ispolnitel extends Person {
    public int brak;
    public Ispolnitel(int _id, String _name, String _post, int _age, int _experience, int _salary, int _holiday, int _brak)
    {
        id=_id;
        name=_name;
        post=_post;
        age=_age;
        experience=_experience;
        salary=_salary;
        holiday=_holiday;
        brak=_brak;    
    }
    public String toString()
    {
        return ("Id"+ id +" Имя "+ name+ " Опыт работы: "+experience+ " Зарплата:"+salary+ " Отпуск:"+holiday);
    }
}
 

 

Код:
 
public class Rukovoditel extends Person{
    public int rating;
    public Rukovoditel(int _id, String _name, String _post, int _age, int _experience, int _salary, int _holiday, int _rating)
    {
        id=_id;
        name=_name;
        post=_post;
        age=_age;
        experience=_experience;
        salary=_salary;
        holiday=_holiday;
        rating=_rating;
    }
    public String toString()
    {
        return ("Id"+ id +" Имя "+ name+ " Опыт работы: "+experience+ " Зарплата:"+salary+ " Отпуск:"+holiday);
    }
}
 

 
В main создал коллекцию ArrayList и засунул туда пару Исполнителей и руководителей

Код:
 
ArrayList anyPerson= new ArrayList();
anyPerson.add(new Ispolnitel (1,"Kozalov","программист",23,35,20000,15,67));    
anyPerson.add(new Ispolnitel (2,"Smirnov","бухгалтер",54,22,34000,14,33));
anyPerson.add(new Rukovoditel(6,"Zhirkov","начальник",57,22,39000,14,39));
 

 
Теперь стоит задача как из этой коллекции anyPerson выбрать именно Исполнителей, а руководителей не трогать?? Была идея вытащить класс с getClass, но не знаю как сравнить то что вытащил с Исполнителем. Кто знает, подскажите плиз....
 
Добавлено:
 
______________________________________________________
 
Jeweller787
попробуй так

Код:
 
 
a=Double.valueOf(jTextField1.getText());
 
 

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 08:53 27-04-2010
vndovr

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
for (Person person : anyPerson)
{
   if (person instanceof Rukovoditel) {}
   if (person instanceof Ispolnitel) {}
}

Всего записей: 359 | Зарегистр. 05-02-2004 | Отправлено: 01:39 30-04-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хоть кто-то на Java пишет )
 
vndovr

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 12:44 30-04-2010
Panoksa



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет!  
Может кто поможет? Есть несколько не до конца решенных задачек, которые я не в состоянии закончить (. Пишу первую:
 
 
Задача:
Write a Java application which that reads in a sequence of daytime temperatures (one at a time). You are required to find the maximum and minimum (using the appropriate methods of the Math class) of these daytime temperatures.    
 
You are also required to keep track of where the maximum and minimum value occurred in the list (1st, 3rd, whatever)  
 
When the user is finished entering the daytime temperatures.
 
(HINT:  Use 999 as the sentinel value of the variable temp to terminate loop)  
 
The application will display a message informing the user of maximum and minimum temperature and where they occurred in the sequence of temperatures entered.  
 
 
 
 
Мое решение:
 
 
import javax.swing.*;
 
import java.text.DecimalFormat;
 
public class DaytimeTemperatures {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
      String tempStr;
      double maxtemp,
                mintemp,
                  temp;
      int counter=0;
 
      DecimalFormat TwoDigit=new DecimalFormat("0.00");
 
      tempStr=JOptionPane.showInputDialog("Enter daytime temperature, please");
      temp=Double.parseDouble(tempStr);
      maxtemp=temp;
      mintemp=temp;
 
      while(temp!=999){
           maxtemp=Math.max(maxtemp, temp);
           mintemp=Math.min(mintemp, temp);
           counter++;
 
           tempStr=JOptionPane.showInputDialog("Enter daytime temperature, please");
           temp=Double.parseDouble(tempStr);
 
      }
 
JOptionPane.showMessageDialog(null,"The maximum temperature is "+maxtemp+"\nThe minimum temperature is "+mintemp);
    }
 
}
 
 
 
Тут не хватает части, которая позволила бы программке высчитать в какой момент по счету была введена максимальная температура и в какой минимальная... моих знаний, к сожалению на это не хватает. Буду очень благодарна помощи

Всего записей: 1 | Зарегистр. 04-05-2010 | Отправлено: 21:43 04-05-2010 | Исправлено: Panoksa, 21:46 04-05-2010
ruslrusl



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

Код:
 
 while(temp!=999)
{
           counter++;
           if (maxtemp<temp)
           {maxtemp=temp;
             maxcount=counter;
           }
           if (mintemp>temp)
           {mintemp=temp;
             mincount=counter;
           }        
           tempStr=JOptionPane.showInputDialog("Enter daytime temperature, please");
           temp=Double.parseDouble(tempStr);
 
}  
 
JOptionPane.showMessageDialog(null,"The maximum temperature is "+maxtemp+" По счету"+maxcount+"\nThe minimum temperature is "+" По счету"+mincount+mintemp);  
 
 

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 11:41 05-05-2010
q111111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
люди, плиииз хэлп ми!!! нужно 2 задачки решить:
 
1) Дан список документов (название, путь к файлу на диске, дата и время создания). Вывести N самых свежих документов и M первых документов в алфавитном порядке путей к файлам. N и M задать константами в коде.
 
2) Программа считывает из аргументов командной строки четыре числа, которые попарно являются координатами двух точек плоскости. Вывести координаты вершин всевозможных квадратов, таких, что одна из введённых точек является центром вписанной в квадрат окружности, а вторая - середина его стороны.
 
Заранее благадарю =)

Всего записей: 1657 | Зарегистр. 05-03-2008 | Отправлено: 17:57 05-05-2010
Tanusha92

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята,привет всем)))
 
Мне очень нужна помощь...нужно решить задачи на Java,если сможете,помогите)))
1. Ввести с клавиатуры массив целых чисел. Вывести все различные числа, встречающиеся в массиве.
2. Ввести число m. Вывести матрицу размера m*m, у которой элемент в i-ой строке и j-ом столбце (a[i][j]) равен (i*10+j), После этого вывести суммы элементов на главной и побочных диагоналях.
3. Ввести обозначение клетки шахматной доски, напр., «E4».Определить, клетка чёрная или белая.
 
Если не сложно,ПОМОГИТЕ ПОЖАЛУЙСТА!!!

Всего записей: 3 | Зарегистр. 05-05-2010 | Отправлено: 19:24 05-05-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tanusha92
может немножко и перемудрил
1)

Код:
 
import java.util.Scanner;
public class massiv {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner inp=new Scanner (System.in);
        System.out.println("Сколько будет чисел?");    
        int n=inp.nextInt();
        boolean ok;
        int a[], i, k, j;
        a = new int[n];
        System.out.println("Введите числа");
        for (i=0; i<n; i++)
        {
            k=inp.nextInt();
            a[i]=k;
        }
        // так как ограничений в переменных нет
        // создаем еще один массив и заполняем нулями
        int b[]=new int [n];
        for (i=0; i<n; i++)
            b[i]=0;
        ok=true;
        for (i=0; i<n; i++)
        {
            for (j=0; j<n; j++)
            {
                if(a[i]==b[j])
                    ok=false;                
            }
            if (ok)
                b[i]=a[i];                
            ok=true;
        }
        
        for (i=0; i<n; i++)
        {
            if (b[i]!=0)
                System.out.println(b[i]+" ");
        }
    }
}
 

 
 
Добавлено:
2)

Код:
 
import java.util.Scanner;
public class massiv {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner inp=new Scanner (System.in);
        System.out.println("Введите число m");    
        int m=inp.nextInt();
        int a[][], i, sum=0, j;
        a = new int[m][m];
        for (i=0; i<m; i++)
        {
            for (j=0; j<m; j++)
            {
                a[i][j]=i*10+j;
                System.out.print(a[i][j]+" ");
            }
            System.out.println();
        }
        System.out.println("Сумма на главной диагонале:");
        for (i=0; i<m; i++)
        {
            sum=sum+a[i][i];
        }
        System.out.println(sum);        
    }
}
 

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 09:00 06-05-2010
Tanusha92

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо)

Всего записей: 3 | Зарегистр. 05-05-2010 | Отправлено: 09:37 06-05-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
q111111
Я бы сделал так:
Создал бы некий класс File, который содержит поля название, путь к файлу на диске, дата и время создания. Потом создаем

Код:
 
ArrayList anyFile= new ArrayList();
 

засовываем туда данные

Код:
 
anyFile.add(new File( название, путь к файлу на диске, дата и время создания));
 

создаем два компаратора, первый из них будет сортировать по названию(name), второй по дате (date)
 
Компаратор для названия

Код:
 
import java.util.Comparator;
import java.util.*;
public class CompareName implements Comparator{
    public int compare (Object obj1,Object obj2)
    {
        File any1=(File ) obj1;
        File any2=(File ) obj2;
        if (any1.name>any2.name)
            return 1;
        else
            if (any1.name<any2.name)
                return -1;
            else
                return 0;
    }
 
}
//по возрастанию
 

 
Компаратор для даты

Код:
 
import java.util.Comparator;
import java.util.*;
public class CompareDate implements Comparator{
    public int compare (Object obj1,Object obj2)
    {
        File any1=(File ) obj1;
        File any2=(File ) obj2;
        if (any1.date>any2.date)
            return 1;
        else
            if (any1.date<any2.date)
                return -1;
            else
                return 0;
    }
 
}
//по возрастанию
 

 
потом в Main`е пишем

Код:
 
// сортировка по названию в алфавитном порядке
CompareName n=new CompareName ();
Collections.sort(anyFile,n);
// здесь выведешь первых M потом
 
 
// сортировка по дате
CompareDate n=new CompareDate ();
Collections.sort(anyFile,n);
// здесь выведешь первых N
 
 

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 10:03 06-05-2010
dron19283746

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ребят помогите плиз продул половину занятий по яве даж больше надо сдать моего варианта ни у кого нету ( ес сможете помогите плиз  
вот тут само задание  
Dump / Restore
Dump
     ввод имени таблицы
     вывод содержимого таблицы с таким же названием ( текстовый файл с командами Insert, Restore)
     ввод файла с командами Insert  
     исполнение файла из этого файла в виде одной транзакции
 

Всего записей: 1 | Зарегистр. 06-05-2010 | Отправлено: 11:35 06-05-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dron19283746
 
во-первых, где в предложении запятые??  
во-вторых
 

Цитата:
Dump / Restore
Dump  

 
Что эти строчки обозначают??
 

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 12:54 06-05-2010
q111111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
СПАСИБО, ruslrusl!
а по второй задачке что-нибудь возможно? можно без математики, я как определюсь с формулами, так уж, надеюсь, сам осилю их записать туда
 
я напомню условие, вдруг кто-нибудь ещё поможет.
 
Программа считывает из аргументов командной строки четыре числа, которые попарно являются координатами двух точек плоскости. Вывести координаты вершин всевозможных квадратов, таких, что одна из введённых точек является центром вписанной в квадрат окружности, а вторая - середина его стороны.  
 
Заранее благадарю =)

Всего записей: 1657 | Зарегистр. 05-03-2008 | Отправлено: 16:25 07-05-2010
ruslrusl



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

Цитата:
вершин всевозможных квадратов

меня уже вводит в ступор слово ВСЕВОЗМОЖНОЕ....

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 16:57 07-05-2010
seforsource



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите заполнить файл-шаблон, а потом считать из него заполненные данные. Формат любой, желательно кроссплатформенный (pdf, rtf)
С уважением.

Всего записей: 46 | Зарегистр. 05-05-2009 | Отправлено: 14:39 10-05-2010
blina



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ВОт, помогите плиииз...
В рюкзак загружаются предметы N различных типов (количество  
предметов каждого типа не ограничено). Максимальный вес рюкзака W. Каждый
 предмет типа i имеет вес wi и стоимость vi (i=1,2, ..., N). Требуется определить  
максимальную стоимость груза, вес которого равен W.

Всего записей: 4 | Зарегистр. 11-05-2010 | Отправлено: 21:08 11-05-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
blina
задача поставлена не правильно, сами логически подумайте...
 
Пусть имеются 3 предмета. Вес рюкзака пусть будет 6.
Цитата:
Каждый
 предмет типа i имеет вес wi  
Получается, первый предмет 1*6=6, 2*6=12, 3*6=18..
Цитата:
Требуется определить  
максимальную стоимость груза, вес которого равен W.
В нашем случае это предмет ПЕРВЫЙ.
 
И не важно, сколько мы возьмем предмета, всегда будет в ответе ПЕРВЫЙ предмет... Следовательно. задача некорректна... Это мое мнение, исправьте, если я не прав...
 

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 09:03 12-05-2010
blina



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если честно я думаю тоже здесьлогика потеряна......но есть пример етот же но на паскале,Вот....
может как-то поможет
program gg;
uses crt;
const MaxN=2;
var N,W:integer;
Weight,price:array[1..MaxN] of integer;
Best,Now:array[1..MaxN] of integer;
MaxPrice:LongInt;
Procedure Solve(k,w:integer;st:LongInt);
var i:integer;
begin
if (k>N) and (st>MaxPrice) then begin
Best:=now;maxPrice:=st; end
else if k<N then
for i:=0 to W div Weight[k] do begin
Now[k]:=i;
Solve(k+1,W-i*weight[k],st+i*Price[k]);
write](W);
 
end;
end;
begin
readln;
end.

Всего записей: 4 | Зарегистр. 11-05-2010 | Отправлено: 15:44 12-05-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если тупо перевести на Java, то держи
 

Код:
int MaxN=2;
    int N,W;
    int []Weight;
    int []Price;
    int []Best;
    int []Now;
    int MaxPrice;  
    
    public void solve (int k, int w, int st)
    {
        int i;
        if(k>N && st>MaxPrice)
        {
            Best=Now;
            MaxPrice=st;
        }
        else
        {
            if (k<N)
                for(i=0; i<W/Weight[k]; i++)
                {
                    Now[k]=i;
                    solve(k+1,W-i*Weight[k],st+i*Price[k]);
                    System.out.println(W);
                }
                    
        }
        
    }
 

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 12:14 13-05-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 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