Deutsch

вопрос по java

193  
Sevaforever завсегдатай20.07.05 13:53
Sevaforever
NEW 20.07.05 13:53 
в книге (электронный вариант) представлен следующий текст...
import java.util.Random;
interface SharedConstants { int NO = 0;
int YES = 1;
int MAYBE = 2;
int LATER = 3;
int SOON = 4;
int NEVER = 5; }
class Question implements SharedConstants {
Random rand = new Random(,0);
int ask() {
int prob = (int) (100 * rand.nextDouble(),0);
if (prob < 30)
return NO; // 30% else if (prob < 60)
return YES; // 30% else if (prob < 75)
return LATER; // 15% else if (prob < 98)
return SOON; // 13% else
return NEVER; // 2% } }
class AskMe implements SharedConstants {
static void answer(int result) {
switch(result) {
case NO:
System.out.println("No",0);
break;
case YES:
System.out.println("Yes",0);
break;
case MAYBE:
System.out.println("Maybe",0);
break;
case LATER:
System.out.println("Later",0);
break;
case SOON:
System.out.priniln("Soon",0);
break;
case NEVER:
System.out.println("Never",0);
break;
} }
public static void main(String args[]) {
Question q = new Question(,0);
answer(q.ask(),0);
answer(q.ask(),0);
answer(q.askO,0);
answer(q.ask(),0);
} }
вопрос: что тут означает знак //?
разве это не знак комментария?
и что означает после этого знака 30% и т.п.?
если возможно прошу прокомментировать этот кусок программы,
а то мне не понятно что там реализуется и как... из-за этих 2-х символов
жизнь хороша, когда пьешь не спеша...
Мы работаем ╚с огоньком╩!Городской крематорий.
#1 
digital_pilot авиатор х#ев20.07.05 14:10
NEW 20.07.05 14:10 
в ответ Sevaforever 20.07.05 13:53
В ответ на:
и что означает после этого знака 30% и т.п.?

вероятность в процентах. Это и есть сам комментарий. А "т.п." - это там, похоже, с переносом строки косяки, т.е. строки типа return LATER; // 15% else if (prob < 98) должны выглядеть так
return LATER; // 15%
else if (prob < 98)
--------------
"Ach, leck mich doch am Arsch", - lächelte meine bezaubernde kleine Fee. Und das war buchstäblich zu verstehen.
#2 
Sevaforever завсегдатай20.07.05 21:21
Sevaforever
NEW 20.07.05 21:21 
в ответ digital_pilot 20.07.05 14:10
о, спасибо, терь все понятно
а то я боялся где то пропустил что-то в операторах...
жизнь хороша, когда пьешь не спеша...
Мы работаем ╚с огоньком╩!Городской крематорий.
#3 
Sevaforever завсегдатай25.07.05 23:45
Sevaforever
NEW 25.07.05 23:45 
в ответ Sevaforever 20.07.05 13:53
class Q {
int n;
synchronized int get() {
System.out.println("Got: " + n,0);
return n;
}
synchronized void put(int n) {
this.n = n;
System.out. println("Put: " + n,0);
} }
class Producer implements Runnable {
Q q;
Producer(Q q) {
this.q = q;
new Thread(this, "Producer").start(,0);
}
public void run() {
int i = 0;
while (true) {
q.put(i++,0);
} } }
class Consumer implements Runnable {
Q q;
Consumer(Q q) {
this.q = q;
new Thread(this, "Consumer").start(,0);
}
public void run() {
while (true) {
q.get(,0);
}
} }
class PC {
public static void main(String args[]) {
Q q = new Q(,0);
new Producer(q,0);
new Consumer(q,0);
} }
эта программа выводит на экоан цифры, но не так как нужно
в справочнике далее написан исправленный вариант:
class Q {
int n;
boolean valueSet = false;
synchronized int get() {
if (!valueSet)
try wait(,0);
catch(InterruptedException e):
System.out.println("Got: " + n,0);
valueSet = false;
notify(,0);
return n;
}
synchronized void put(int n) {
if (valueSet)
try wait(,0); catch(InterruptedException e,0);
this.n = n;
valueSet = true;
System.out.println("Put: " + n,0);
notify(,0);
} }
далее программа не дописана...
так вот у меня возник вопрос что же нужно
вставлять в операторе while()
я так понимаю что true не подходит, потому что в if стоит переменная valueset,
но ее вроде как тоже нельзя ставить, как и !valueset, т.к. по-моему в этом
случае будет работать только один из методав, а другой будет в режиме wait...
возможно это не так... прошу объяснить поподробнее, заранее благодарен
жизнь хороша, когда пьешь не спеша...
Мы работаем ╚с огоньком╩!Городской крематорий.
#4 
Tomasson коренной житель26.07.05 10:39
Tomasson
NEW 26.07.05 10:39 
в ответ Sevaforever 25.07.05 23:45
а ты уже пробовал запускать исправленный вариант?
#5 
Sevaforever завсегдатай26.07.05 18:54
Sevaforever
NEW 26.07.05 18:54 
в ответ Tomasson 26.07.05 10:39
нет,я пока просто читаю, потом буду практикой заниматься
а где кстати можно java писать? может какой редактор есть?
если можно - поподробней, че и где скачать нада...
жизнь хороша, когда пьешь не спеша...
Мы работаем ╚с огоньком╩!Городской крематорий.
#6 
Tomasson коренной житель26.07.05 18:58
Tomasson
26.07.05 18:58 
в ответ Sevaforever 26.07.05 18:54
учебник по java - это не роман:-).
надо читать и сразу пробовать (+ експериментировать)
Код, написанный вверху, будет работать и со старым while.
а где кстати можно java писать? может какой редактор есть?
Для начала лучше писать в обычном Блокноте/Notepad.
А потом уже можно во всякие IDE ударяться:-)
#7 
Ostap Flash Master26.07.05 19:53
NEW 26.07.05 19:53 
в ответ Sevaforever 26.07.05 18:54, Последний раз изменено 26.07.05 19:59 (Ostap)
#8 
где я? прохожий26.07.05 21:43
NEW 26.07.05 21:43 
в ответ Ostap 26.07.05 19:53
забудь
>> Microsoft Visual J++ 48%
и прочую бяку, это уже не ява
для начала очень удобный тул
jcreator
попозже можешь переключиться на
netbeans
eclipse
или JBuilder
#9 
Sevaforever завсегдатай26.07.05 23:37
Sevaforever
NEW 26.07.05 23:37 
в ответ Tomasson 26.07.05 18:58
а че тут пробовать то? цифры чтоль выводить?
да это же смешно...
я на гребаном pascal игры писал, а ты мне предлагаешь ...
не блокнот эт не для меня, пасиб
jbilder вот достать бы... качать долго ток
жизнь хороша, когда пьешь не спеша...
Мы работаем ╚с огоньком╩!Городской крематорий.
#10 
Murr старожил27.07.05 01:36
Murr
NEW 27.07.05 01:36 
в ответ Sevaforever 26.07.05 23:37
Хммм... Для быстрого наброска форм - да, удобен.
Писать что-то серьезное из той области для которой Жаба предназначена - годится, но все преимущества теряются...
<--- nobody harmed in this action -->
#11