• ,

com.javarush.test.level16.lesson03.task05

Вроде простое задание, выполняется правильно, но тестирование не проходит.

package com.javarush.test.level16.lesson03.task05;

import java.util.Date;

/* Поговорим о музыке?
1. Измените класс Violin так, чтоб он стал таском для нити. Используйте интерфейс MusicalInstrument
2. Реализуй необходимый метод в нити Violin. Реализация должна быть следующей:
2.1. Считай время начала игры — метод startPlaying().
2.2. Подожди 1 секунду — метод sleepNSeconds(int n), где n — количество секунд.
2.3. Считай время окончания игры — метод stopPlaying().
2.4. Выведи на консоль продолжительность игры в миллисекундах. Пример «Playing 1002 ms».
*/

public class Solution {
public static void main(String[] args) {
Thread violin = new Thread(new Violin(«Player»));
violin.start();
}

public static class Violin implements MusicalInstrument{
private String owner;

public Violin(String owner) {
this.owner = owner;
}

public Date startPlaying() {
System.out.println(this.owner + " starts playing");
return new Date();
}

public Date stopPlaying() {
System.out.println(this.owner + " stops playing");
return new Date();
}

public void run(){
Date begdate= this.startPlaying();
sleepNSeconds(1);
Date enddate = this.stopPlaying();
System.out.println(this.owner+" "+(enddate.getTime() — begdate.getTime())+" ms");
}
}

public static int delay = 1000;

public static void sleepNSeconds(int n) {
try {
Thread.sleep(n * delay);
} catch (InterruptedException e) {
e.printStackTrace();
}
}

public static interface MusicalInstrument extends Runnable {
Date startPlaying();

Date stopPlaying();
}
}

3 комментария

Joysi
Возможно, не соблюден формат вывода.
2.4. Выведи на консоль продолжительность игры в миллисекундах. Пример «Playing 1002 ms».

P.S. При публикации кода на форуме, пожалуйста, пользуйтесь тегом code (кнопочка с угловыми скобками на панели редактирования сообщения).
Marina86
Так и есть, вывожу в миллисекундах, использую getTime()
Yuri_0504
System.out.println(this.owner+" "+(enddate.getTime() — begdate.getTime())+" ms");
Пример «Playing 1002 ms».
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.