Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 28

Помощь новичку

13.11.2012, 17:43. Показов 1021. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Читаю книжку философия Java Брюса Эккеля и видимо что-то упустил. Помогите пожалуйста разобраться в следующем моменте:
/**
* Created with IntelliJ IDEA.
* User: Andrey
* Date: 13.11.12
* Time: 10:33
* To change this template use File | Settings | File Templates.
*/

public class tree {
//глобальные переменные
long N1rand = 101;
long N2rand = 302;
//псевдо случайная величина. Можно ли её вынести за public class tree?
public double MyRand() {
double x;
long k;
k = (long) (
x = (
(double) (
N1rand = ((N1rand *= 1373) % 1000919)
) / 1000919.0 +
(double) (
N2rand = ((N2rand *= 1528) % 1400159)
) / 1400159.0
)
);
return (x - k);
}

public static void main(String[] args) {
//создаем переменную
double a = 0;
//создаем элемент класса. Можно ли обойтись как то без него?
tree ee = new tree();
for (int i = 0; i < 100; i++) {
//получаем случайные числа и печатаем их
a = ee.MyRand();
System.out.printf("%3.5f \n", a);
}

}
}

Зачем на вообще надо public class tree? tree - название файла. Это какая-то оболочка, но с чем её есть для меня пока что загадка. Второй вопрос - можно ли из этого класса вынести метод MyRand()? Когда я выношу получается ошибка: class or interface expected. Погуглил, получил результат, что не хватает скобок. Но внутри метода скобок хватает. Поставил фигурные вокруг вынесенного метода - не помогло. Может это и необходимо, но после программирования на си необходимость tree ee = new tree(); - просто взорвала мой мозг. Может как то без неё обойтись можно? Все методы должны быть внутри public class tree?
---------------
Полистал ещё книжку - видимо можно обойтись без создания класса, если метод static?...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.11.2012, 17:43
Ответы с готовыми решениями:

Помощь новичку
Помоги новичку ответить на вопросы скайп S.t.a.l.k.e.r3396 =) Вопросов много = )

Помощь в Java новичку
Добрый день, увлекаюсь web программированием. Ввиду того, что php, html, css не хватает для полного комплекта, решил обратить свой взор в...

Помощь новичку
Уважаемые пользователи данного форума, хотелось бы познакомится с вами.Я новичок в Java, собственно и вопрос имеется).Я написал программу...

5
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
13.11.2012, 18:23
Отложите Эккеля пока в сторону.
на выбор:
Кэти Сьерра, Берт Бейтс. Изучаем Java
Кей Хорстманн, Гари Корнелл. Java 2. Библиотека профессионала. Том 1. Основы
0
Музыка нас Связала
 Аватар для Fonduee
232 / 232 / 52
Регистрация: 26.03.2008
Сообщений: 616
13.11.2012, 18:32
Цитата Сообщение от Default Посмотреть сообщение
можно ли из этого класса вынести метод MyRand()
Нет, Java являетя ОО языком, где каждый файл представляет уже собой отдельный класс, поэтому даже чтобы выдать "Hello World" нужно декларировать класс.

Цитата Сообщение от Default Посмотреть сообщение
необходимость tree ee = new tree(); - просто взорвала мой мозг. Может как то без неё обойтись можно?
Да, если вы сделаете ваш метод MyRand() статичным, то объект класса инициализировать не нужно.
0
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 28
13.11.2012, 19:53  [ТС]
Получается, что все не статичные функции внутри моего основного public class'a я могу вызывать, только инициализировав мой класс? И при этом в этих статичных функциях я не могу использовать глобальные переменные?
0
Музыка нас Связала
 Аватар для Fonduee
232 / 232 / 52
Регистрация: 26.03.2008
Сообщений: 616
13.11.2012, 20:07
Цитата Сообщение от Default Посмотреть сообщение
Получается, что все не статичные функции внутри моего основного public class'a я могу вызывать, только инициализировав мой класс?
Да, ибо обратное противоречит ООП.

Цитата Сообщение от Default Посмотреть сообщение
И при этом в этих статичных функциях я не могу использовать глобальные переменные?
Можно, можно и еще раз можно.
0
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 28
13.11.2012, 20:56  [ТС]
Ну только если они статичные. Надо ещё заново про static почитать. Видимо что-то в корне упустил =(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2012, 20:56
Помогаю со студенческими работами здесь

Помощь новичку в java
Короткое введение читаю сейчас книгу Java Обьектно-ориентированое программирование. Автор: Алексей Николаевич Васильев Есть ряд вопросов...

Не отображается сайт. Помощь новичку
Добрый день! Я новичок и был бы очень благодарен вашей помощи. Развернул сайт на GlassFish v3.1.2. Нажал кнопку &quot;enabled&quot;,...

Помощь новичку
Есть выборка с полями: Наименование(Ссылка на справочник Номенклатуры) и Маршрут(строка). Как в справочник Номенклатуры в поле Маршрут...

Помощь новичку
Уже который день не могу разобраться. написал калькулятор, который выполняет последовательно действия - берет число, отнимает от него 10% и...

Помощь новичку
Здравствуйте. Заранее скажу, что не знаю точно, в ту ли ветку форума я пишу, но у меня есть одна задача. Состоит она в следующем: на...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru