LinuxForum.Fans
Тема

Помогите с изучением Java

Автор: u505 49 сообщений 16463 просмотров
#54028

Всех приветствую!

Недавно начал изучать Java.
Приобрел книгу И. Хабибуллина "Самоучитель Java"
Там иногда бывают самостоятельные задания, но ответов не приводится
Если есть на форуме люди разбирающиеся в Java, помогите
Я буду вам выкладывать условие задачи свое решение, а вы будете указывать на ошибки

Жду ответа :rolleyes:

#54038

Купите лучше (или скачайте ;) ) двухтомник Хорстманна. Это гораздо полезнее, а если Вы раньше программили на С/С++, то еще и познавательнее

#54044

Я вообще ни на чем не программировал
Неприятен мне как то C/C++

Ну хоть за совет спасибо
Кстати, а как полное название?
не эти случайно?
http://www.kniga.ru/books/145182
http://www.kniga.ru/books/290030

#54062

ST,
Ага, оно самое

#54069

спасибо, но мне не надо электронные книги
Мне просто надо было что бы кто нибудь проверял мои решения

ну да ладно
закрывайте

#54078

Двухтомник "Хорстманн, Корнелл. Core Java 2" - лучшее что я встречал по Java! Ну и естественно не могу не посоветовать Thinking in Java, но обязательно с 4 издания.
А с какой целью тебя надо проверять? Не совсем понимаю, зачем?

#54079
alex-seed написал:
http://progbook.ru/java/
Здесь много книг полезных есть, думаю стоит посмотреть.

Старьё. Не надо. С тех пор очень многое изменилось, особенно в EE.

#54084

Ну просто есть некоторые задачи которые я сам не могу проверить

#54086

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

#54089

Давно возникает идея вернуться всерьез к Java. Технология с будущим, можно сказать mainstream. Вот тут уже ОС пишут на Java. Хотя самый нужный вариант - это enterprise.

#54090

Задача 1.
Вычислить с помощью условного оператора значение y, равное х + 1 если х < 0,
равное x + 2, если 0 <= x <0
и равное х + 10 во всех остальных случаях
Мое решение

text
class Function{

public static void main (String []args){

double x; // здесь вводим переменную x double y; if (x < 0) y = x + 1; if (0 <= x && x < 1) y = x + 2; else y = x + 10;

System.out.println ("y = "+ y); } }

Задача 2.
Записать условный оператор, дающий логической переменной z значение true, если точка M(x , y)лежит в единичном круге с центром в начале координат, и false в противном случае

#54100

Первая задача

text

 1     package ru.linuxforum.java;
 2     import java.util.*;
 3     /**
 4      *
 5      * @author mycetophylax
 6      */
 7     public class Function {
 8     
 9          public static void main(String[] args){
10             double x;
11             double y;
12             System.out.print("Введите x: ");
13             Scanner in = new Scanner(System.in);
14             x = in.nextDouble();
15             if (x < 0) {
16                 y = x + 1;
17             }
18             else {
19                 if (x < 1){
20                     y = x + 2;
21                 }
22                 else{
23                     y = x + 10;
24                 }
25             }
26             System.out.println("y = " + y);
27         }
28     }
#54101

Сейчас схожу покурю, объясню кое-какие моменты.

#54106

1.
Меня учили сразу привыкать помещать даже самые простые задачи в отдельные пакеты. Обычно (так принято) в качестве имени пакета берется принадлежащее тебе доменное имя, записаное наоборот. Т.к. у меня его нет, я воспользовался доменным именем линуксфорума, надеюсь Sonic будет не против wink. Обещаю больше нигде его не использовать, только для примеров на этом форуме wink.
См. строку 1

2. Нужно же как-то организовать ввод переменной x, чтобы ее значение не было "зашито" в код программы. Для этого в Java есть класс Scanner, который находится в пакете java.util
Подключаем этот пакет в строке 2.
В строке 13 создаем объект класса Scanner и связываем его со стандартным входным потоком System.in
Для чтения в переменную используем один из методов этого класса. См. строку 14

3. В строке 15 проверяем меньше x нуля или нет, если меньше то присваиваем переменной y значение x +1 и на этом все, проверок больше не будет, следующим будет выполнен код в строке 26.
В твоем решении даже если x < 0, все равно будет проверка в следующем if. Работать это будет, но так делать неправильно.
Поэтому я следующую проверку заключил в блок else первого if. И именно поэтому не нужно больше проверять, что x>=0, это уже проверено на предыдущем этапе.

#54107

Пиши что не понял, попробую объяснить подробнее. Ко второй задаче пока переходить не буду. Только после твоего ответа, что все понятно.

#54110

mycetophylax написал:
1.
См. строку 1

2.
Для чтения в переменную используем один из методов этого класса. См. строку 14

3. В строке 15 проверяем меньше x нуля или нет, если меньше то присваиваем переменной y значение x +1 и на этом все, проверок больше не будет, следующим будет выполнен код в строке 26.
1. учту на будущее, но об этом еще не знал. А если все таки нет домена, что тогда?
2. Это мы не проходили, это нам не задавали
А вообще то там есть ссылка на материал(в примере), но я решил не забегать вперед.
И было представленно что то в виде
text
System.out.read(byte [] bt)

3. А вот тут уже реально косяк
Надо будет проработать

#54112
ST написал:

А вообще то там есть ссылка на материал(в примере), но я решил не забегать вперед.
И было представленно что то в виде
text
System.out.read(byte [] bt)

:O У out нет метода read! Ты ничего не путаешь?
Забыл сказать, что класс Scanner появился только в Java 5.

#54113
ST написал:

А если все таки нет домена, что тогда?

Придумай.

text

ru.st.lab1
ru.krasnoturinsk.st.lab1

wink

#54114

Помнится кода делал установку ОС через сеть
Провайдер дал имя sts.etel.ru по DHCP

mycetophylax написал:
У out нет метода read! Ты ничего не путаешь?

Ну так было написано

Войдите или зарегистрируйтесь, чтобы ответить.