Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
 Аватар для a-droid
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 3

Задания для новичка

18.07.2013, 01:06. Показов 3901. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начал учить Java
кому не трудно дайте задания, а я ответ сюда же выложу))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.07.2013, 01:06
Ответы с готовыми решениями:

Java для полного новичка
Всем привет. Вообщем, таких тем наверное уже вагон, если не там создал - прошу не банить а перенести темку.Заранее спасибо. Как и многие,...

метод void для новичка
У меня вопрос о методе void(это же метод?:)). Я прочитал что этот метод не возвращает значения. Не возвращает куда? Если он не...

Логика и программирование для новичка
Всем вновь привет. В общем, я писал в предыдущих темах и просил совета по развитию логики. Мне дали советы решать логические задачи....

27
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
18.07.2013, 02:11
ок, моя первая программка которой гордился в школьные годы - была вычисления дискриминанта.
Название: 861_big.jpg
Просмотров: 509

Размер: 3.3 Кб

на вход подаем a, b, c и получаем х1, х2
*** задание на три звезды - если ответ 0.333333.... то выводить в виде 1/3

пожалуйста
1
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
18.07.2013, 17:51
a-droid, 1) Дан текст, в котором нужно:
а) перевернуть все слова
б) сделать первую букву всех слов заглавными

2) Реализовать любой алгоритм шифрования (можно Цезаря) для латиницы/кирилицы
Если осилишь
Реализовать GUI


3) Программа для подсчета кол-ва счастливых билетов на отрезке [a, b], b>a>0
2
 Аватар для a-droid
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 3
18.07.2013, 19:54  [ТС]
так стоп))
как решу скину
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
30.07.2013, 20:27
Что-то ты долго решаешь)

tankomaz прям таки и первая программа? Или сначала традиционное привет мир?)

Добавлено через 45 минут
Кароч написал. Малому как пример будет(если у него не получится), а меня прошу проверить. Покритиковать код и подкинуть советы по улучшению

Решение квадратного уравнения

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package javaapplication153;
import java.io.*;
import java.util.Scanner;
 
public class JavaApplication153 {
 
 
    public static void main(String[] args) {
  
     //ax2 + bx + c = 0;
     //d= b2 - 4 * a * c
      
        Scanner console = new Scanner(System.in);
        System.out.println("Canonical: ax^2 + bx + c = 0");
        System.out.println("Discriminant: b^2 - 4*a*c");
        int a=0,b=0,c=0; 
        try{
        System.out.print("\n a = ");
          a = console.nextInt();
         
         if(a == 0){
             System.out.println("[ERROR] a must be not null");
             System.exit(0);
         }
         
         System.out.print("\n b = ");
          b = console.nextInt();
         
         System.out.print("\n c = ");
          c = console.nextInt();
        }catch(Exception ex){
            System.out.println("Smth wrong =(");
        }
        
        double descr =  Math.pow(b, 2) - 4*a*c;
        
        System.out.println("Discriminant: " + (int)descr);
        
        if(descr < 0){
           System.out.println("Roots does not existance");
           System.exit(0);
        }else if(descr == 0){
           System.out.println("Exists one root"); 
           double x1 = (-b+Math.sqrt((int)descr))/2*a;
           if(x1<1){
               String s = ""+x1;
               s = s.replace("0", "1");
               s = s.replace(".", "/");
              System.out.println("x1 = "+ s);
           }else{
              System.out.println("x1 = "+ x1);  
           }
         }else{
           System.out.println("Exists two roots");  
           double x1 = (-b+Math.sqrt((int)descr))/2*a;
          if(x1<1){
               String s = ""+x1;
               s = s.replace("0", "1");
               s = s.replace(".", "/");
               System.out.println("x1 = "+ s);
           }else{
              System.out.println("x1 = "+ x1);  
           }
           double x2 = (-b-Math.sqrt((int)descr))/2*a;
           if(x2<1){
               String s = ""+x2;
               s = s.replace("0", "1");
               s = s.replace(".", "/");
               System.out.println("x2 = "+ s);
           }else{
              System.out.println("x2 = "+ x2);  
           }
        }
        
        
 
    }
}
Добавлено через 4 минуты
Ну что? На три звезды тянет? Как видите обновился пост через 45 минут поэтому на написание проги у меня ушло 45 минут. Прошу это тоже учесть в процессе критики.
1
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
30.07.2013, 20:52
waip,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import static java.lang.Math.sqrt;
 
import java.util.Arrays;
 
public class Equation {
    private double a;
    private double b;
    private double c;
    
    private Equation() {};
    
    public Equation(double a, double b, double c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }
    
    public double getDiscriminant() {
        return b*b - 4*a*c;
    }
    
    public double[] getSolution() {
        double discriminant = getDiscriminant();
        double[] solution = null;
        
        if(discriminant > 0) {
            solution = new double[2];
            
            solution[0] = (-b + sqrt(discriminant)) / (2*a);
            solution[1] = (-b - sqrt(discriminant)) / (2*a);
        } else if(discriminant == 0) {
            solution = new double[1];
            
            solution[0] = -b / (2*a);
        } else {
            System.out.println("Решения нет!");
        }
        
        return solution;
    }
    
    public void printSolution() {
        System.out.println(Arrays.toString(getSolution()));
    }
}
Java
1
2
3
4
5
6
public class EquationTest {
    public static void main(String[] args) {
        Equation q = new Equation(1, 2, 1);     
        q.printSolution();
    }   
}
1
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
30.07.2013, 20:57
Очень грамотно сделано. Мое решение просто мусор. Спасибо, что потратил время
0
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
30.07.2013, 20:57
waip, Помоему логическая ошибка присутствует в этом коде:
Миниатюры
Задания для новичка  
1
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
30.07.2013, 21:01
У меня одна грубая ошибочка, поменять конструктор на:
Java
1
2
3
4
5
6
7
8
9
public Equation(double a, double b, double c) {
        if(a == 0) {
            throw new IllegalArgumentException("a must be not null");
        }
        
        this.a = a;
        this.b = b;
        this.c = c;
    }
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
30.07.2013, 21:10
Almaz. Исправил. Проверьте.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package javaapplication153;
import java.io.*;
import java.util.Scanner;
 
public class JavaApplication153 {
 
 
    public static void main(String[] args) {
  
     //ax2 + bx + c = 0;
     //d= b2 - 4 * a * c
 
        Scanner console = new Scanner(System.in);
        System.out.println("Canonical: ax^2 + bx + c = 0");
        System.out.println("Discriminant: b^2 - 4*a*c");
        int a=0,b=0,c=0; 
        try{
        System.out.print("\n a = ");
          a = console.nextInt();
         
         if(a == 0){
             System.out.println("[ERROR] a must be not null");
             System.exit(0);
         }
         
         System.out.print("\n b = ");
          b = console.nextInt();
         
         System.out.print("\n c = ");
          c = console.nextInt();
        }catch(Exception ex){
            System.out.println("Smth wrong =(");
        }
        
        double descr =  Math.pow(b, 2) - 4*a*c;
        
        System.out.println("Discriminant: " + (int)descr);
        
        if(descr < 0){
           System.out.println("Roots does not existance");
           System.exit(0);
        }else if(descr == 0){
           System.out.println("Exists one root"); 
           double x1 = (-b+Math.sqrt((int)descr))/2*a;
           String s = ""+x1;
           if(s.startsWith("0")){
               
               s = s.replace("0", "1");
               s = s.replace(".", "/");
              System.out.println("x1 = "+ s);
           }else{
              System.out.println("x1 = "+ (int)x1);  
           }
         }else{
           System.out.println("Exists two roots");  
           double x1 = (-b+Math.sqrt((int)descr))/2*a;
            String s = ""+x1;
          
           if(s.startsWith("0")){
               s = s.replace("0", "1");
               s = s.replace(".", "/");
               System.out.println("x1 = "+ s);
           }else{
              System.out.println("x1 = "+ (int)x1);  
           }
           double x2 = (-b-Math.sqrt((int)descr))/2*a;
           String s2 = ""+x2;
           if(s2.startsWith("0")){
         
               s = s.replace("0", "1");
               s = s.replace(".", "/");
               System.out.println("x2 = "+ s);
           }else{
              System.out.println("x2 = "+ (int)x2);  
           }
        }
        
        
 
    }
}
Добавлено через 50 секунд
о. а мы можем как нибудь протестить что работает быстре? только у меня вместо ввода переменным дать числа сразу чтобы не тратилось время на ввод.

Добавлено через 5 минут
Java
1
2
3
4
5
6
7
8
9
public Equation(double a, double b, double c) {
        if(a == 0) {
            throw new IllegalArgumentException("a must be not null");
        }
        
        this.a = a;
        this.b = b;
        this.c = c;
    }
Севак) Я кажется сейчас понял для чего используется ключевое слово this глядя на твой конструктор)

Я бы конструктор запилил так:
Java
1
2
3
4
5
6
7
8
9
public Equation(double a, double b, double c) {
        if(a == 0) {
            throw new IllegalArgumentException("a must be not null");
        }
        
        A = a;
        B = b;
        C = c;
    }
А тут:
this.a = a;
this.b = b;
this.c = c;
если бы было так

a = a;
b = b;
c = c;

то не совсем понятно, что происходит) а через ключевое слово this мы говорим, что указываем на переменную из этого класса. верно?)
0
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
30.07.2013, 21:11
Цитата Сообщение от waip Посмотреть сообщение
о. а мы можем как нибудь протестить что работает быстре? только у меня вместо ввода переменным дать числа сразу чтобы не тратилось время на ввод.
Перед методом ставим
Java
1
long start = System.nanoTime();
После метода ставим
Java
1
long end = System.nanoTime() - start;
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
30.07.2013, 21:22
waip, именно!
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
30.07.2013, 21:36
Прогнал на профиляторе. Вот итог. Верхняя вырезка севак. Нижняя моя.

Тестировалось на одних и тех же числах. У себя убрал ввод.

Но как видно я колосально проиграл. И все же не понимаю, где я так согрешил. Может быть это сказалось при работе со строками?
Миниатюры
Задания для новичка  
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
30.07.2013, 21:43
waip, мой вариант тоже далеко не оптимальный, но если ты прогонял в цикле свой вариант, то однозначно строки, а точнее конкатенация
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
30.07.2013, 21:48
Цитата Сообщение от Севак Посмотреть сообщение
если ты прогонял в цикле свой вариант, то однозначно строки, а точнее конкатенация
Я циклами вообще не пользовался при решении задачи если речь идет о том)

Добавлено через 3 минуты
У тебя походу дела прога не верно считает.

Equation q = new Equation(45, 56, 2);

взял данные Almaz_1993 . Вот что выводит твое творение

[-0.03680267234135594, -1.2076417721030885]

а вот у мну)

Exists two roots
x1 = -74
x2 = -2445

Кто прав кто виноват?
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
30.07.2013, 21:55
waip,
45x^2 + 56x + 2 = 0
D = 56*56 - 4*45*2 = 2776
x1 = (-56 + 52.68) / (2*45) = -0.36(8)
x2 = (-56 - 52.68) / (2*45) = -1.2
1
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
30.07.2013, 22:13
Разобрался) Скобку не поставил поэтому операторы начали считать иначе)
0
lsereshka
02.08.2013, 23:44
Цитата Сообщение от Севак Посмотреть сообщение
2) Реализовать любой алгоритм шифрования (можно Цезаря) для латиницы/кирилицы
Всем привет. Я новичок, но хочу стать лучше! =))
мой вариант примитивного шифрования:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package javaapplication0001;
 
import sun.security.util.Length;
 
public class Caesar {
    String strIn;
    String strOut;
    int step = 3;
    
    public Caesar(String strIn){
        this.strIn = strIn;
    }
    
    public void CaesIn(){
        strOut ="";
        int stepInOut=step;
        System.out.println(strIn);
        for (int i=0;i<strIn.length();i++,stepInOut++){
            strOut+=((char)(strIn.codePointAt(i)+stepInOut));
        }
        System.out.println(strOut);
    }
    public void CaesOut(){
        strIn="";
        int stepInOut=step;
        for (int i=0;i<strOut.length();i++,stepInOut++){
            strIn+=((char)(strOut.codePointAt(i)-stepInOut));
        }
        System.out.println(strIn);
    }
}
 
 
package javaapplication0001;
public class JavaApplication0001 {
    public static void main(String[] args) {
        Caesar str = new Caesar("Hello world!!!");
        str.CaesIn();
        str.CaesOut();
    }
}
Добавлено через 27 минут
Немного допилил прошлый свой код! По мне так лучше!!!
Конструктивная критика очень как приветствуется.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package javaapplication0001;
 
import sun.security.util.Length;
 
public class Caesar {
    String strIn;
    String strOut="";
    int step = 3;
    
    public Caesar(String strIn, boolean operation){
        this.strIn = strIn;
        System.out.println(strIn);
        for (int i=0;i<strIn.length();i++,step=step*step+1){
            if (operation==true) strOut+=((char)(strIn.codePointAt(i)+step));
            else if (operation==false) strOut+=((char)(strIn.codePointAt(i)-step));
        }
        System.out.println(strOut);
    }
}
 
 
package javaapplication0001;
public class JavaApplication0001 {
    public static void main(String[] args) {
        Caesar strIn = new Caesar("Hello world!!!",true);
        Caesar strOut = new Caesar("KoÑ⡆☔ᱺ퀜䃉‗惆ꀉ恻鿆恻",false);
    }
}
run:
Hello world!!!
KoÑ⡆☔ᱺ퀜䃉‗惆ꀉ恻鿆恻
KoÑ⡆☔ᱺ퀜䃉‗惆ꀉ恻鿆恻
Hello world!!!
BUILD SUCCESSFUL
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 5
27.10.2013, 16:42
Добрый день! Я совсем новичок, Джаву начал изучать неделю назад, с программированием практически не знаком. Попробовал решить: вывод в виде дроби еще не реализовал. Не судите строго!
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.Scanner;
public class Roots {
public static void calculate(double a, double b, double c) {
double descriminant, x1, x2, x;
descriminant = b*b - 4 * a * c;
if (descriminant >=0){ 
x1 = (-b-Math.sqrt(descriminant))/2*a;
x2 = (-b+Math.sqrt(descriminant))/2*a;
System.out.println("x1= " + x1);
System.out.println("x2= " + x2);
}
if (descriminant ==0){ x = (-b)/2*a;
System.out.println("x= " + x);
}
if (descriminant <0){
System.out.println("net kornei");
}
}
public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
        System.out.println("Enter the member a: ");
            double a = input.nextDouble();
        System.out.println("Enter the member b: ");
            double b = input.nextDouble();
        System.out.println("Enter the member c: ");
            double c = input.nextDouble();
calculate(a,b,c);
}
}
0
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
27.10.2013, 16:58
Цитата Сообщение от Me1kaa Посмотреть сообщение
Добрый день! Я совсем новичок, Джаву начал изучать неделю назад, с программированием практически не знаком. Попробовал решить: вывод в виде дроби еще не реализовал. Не судите строго!
1. Читать код не возможно!
2.
Цитата Сообщение от Me1kaa Посмотреть сообщение
double descriminant, x1, x2, x;
Объявляйте переменные по мере необходимости, т.е. у вас сейчас не все переменные используются.

Не по теме:

3.

Цитата Сообщение от Me1kaa Посмотреть сообщение
System.out.println("net kornei")
Корни всегда есть, только они не действительные. Это так, придираюсь :)

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.10.2013, 16:58
Помогаю со студенческими работами здесь

Задания, для изучения
в общем начал изучать Java после C++ (полгода) по книге Г. Шилдт &quot;Java. Полное руководство&quot; 8-е издание. , все нравиться только вот не...

Посоветуйте задания для развития мышления
Доброй ночи господа.нужна ваша помощь в развитии мышление как у программиста. Что посоветуете?? Мне вот сказали что шахматы...

Практические задания и проекты для начинающих
Здравствуйте! В этом году поступаю в ВУЗ на программную инженерию. Наслышан о качестве преподавания в постсоветском пространстве, поэтому...

Нужны задания для начинающего java-программиста
Здравствуйте, я не так давно начал изучать Java, и теперь в принципе владею основами. И мне хотелось бы попробовать себя в проекте или...

Java Технические задания для устройства на работу
Добрый день! На формуме С++ есть раздел для профессионлов. И в нем есть тема, в которой перечислины ТЗ на устройсво на работу. Есть ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru