Отправляет email-рассылки с помощью сервиса Sendsay

[prg] олимпиадная задача на языке java

Здравствуйте всем участникам рассылки! Знакомый студент попросил помочь
разобраться с кодом, написанным на java. Но познания у меня этого языка
скромные. Задача заключалась в следующем:
Описать класс, с названием светофор для пешихода с кнопкой, который
характеризуется временем, в течение которого горит сигнал и временем,
которое должно пройти с последнего включения, чтобы светофор заработал.
Класс позволяет: включить зелёный сигнал, если это возможно. Узнать
состояние светофора. Продемонстрировать работу с классом, реализовав
графический интерфейс.

В задаче я так понял 2 файла с классами: 1- это светофор, то есть он
проверяет статус и позволяет включить светофор, а второй- это класс, который
демонстрирует работу с этим классом. Ошибка в демоклассе. Вот код обоих
классов.

класс светофор:

package program;

import java.util.Date;

class svetofor {

private boolean status;

svetofor () {

status =false;

}

public void on(int d1){

Date a=new Date();

int d2=a.getSeconds();

if(d2-d1>=20) {

status=true;

d1=a.getSeconds();

}

else status =false;

if(d2-d1<20){

status=false;

d1=a.getSeconds();

}

else status =false;

if(d2-d1<20){

status=false;

d1=a.getSeconds();

}

else if(d2-d1>15){

status=true;

d1=a.getSeconds();

}

}

public boolean uznatstatus(){

return (status);

}

}

Класс-демопрограмма:

package program;

import java.io.*;

import java.util.Date;

import java.awt.*;

import java.awt.event.*;

public class program_svetofor implements ActionListener{

Button b1,b2,last;

Label l1;

public static void main(String[] args)throws IOException {

new program_svetofor();

}

program_svetofor();()throws IOException{

svetofor s;

s=new svetofor();

Date a=new Date();

int d1=a.getSeconds();

Frame f= new Frame("Светофор");

f.setBounds(200,200,300,200);

f.setVisible(true);

f.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent we){

((Window)we.getSource()).dispose();}});

b1=new Button("Включить зеленый");

b1.setBounds(20,30, 150, 30);

b1.setVisible(true);

f.add(b1);

b1.addActionListener(this);

b2=new Button("Состояние");

b2.setBounds(20,60, 150, 30);

b2.setVisible(true);

f.add(b2);

b2.addActionListener(this);

l1=new Label("Состояние: ");

l1.setBounds(20,90,200,30);

l1.setVisible(true);

f.add(l1);

last=new Button("");

last.setVisible(false);

f.add(last);

void actionPerformed(ActionEvent a){

if (a.getSource()==b1){if(s.uznatstatus()==true){s.on(d1);

l1.setText("Состояние: горит зеленый");}

else l1.setText("Состояние: горит красный");}

if (a.getSource()==b2){if(s.uznatstatus()==true)

l1.setText("Состояние: горит зеленый");}else

{l1.setText("Состояние: горит красный");}}

} в демопрограмме ругается на стороку public void
actionPerformed(ActionEvent a){

Почему я не могу понять. Пожалуйста помогите исправить ситуацию. Заранее
спасибо за помощь. С уважением Леонид.

Ответить   Sun, 1 Apr 2012 16:31:59 +0600 (#2420163)