Вопрос

import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;


public class Boggle {
    Board board;
    Player player;
    Timer timer;
    boolean active;

    static Scanner in = new Scanner(System.in);

    public Boggle() {
        board = new Board(4);
        timer = new Timer();
    }

    public void newGame() {
        System.out.println("Please enter your name: ");
        String line = in.nextLine(); 
        player = new Player(line);
        active = true;

        board.shuffle();
        System.out.println(board);

        timer.schedule(new timesUP(), 20000);
        while(active) {
            String temp = in.nextLine();
            player.addGuess(temp);
        }
    }


    public void endGame() {
        active = false;
        int score = Scoring.calculate(player, board);
        System.out.println(score);
    }


    class timesUP extends TimerTask {
        public void run() {
            endGame();
        }
    }


    public static void main(String[] args) {
            Boggle boggle = new Boggle();
            boggle.newGame();

    }
}

У меня есть приведенный выше класс, который должен выполнять цикл в течение определенного времени, а затем вызовать метод экземпляра. По сути, мне нужен цикл в Newgame (), чтобы запустить в течение минуты или около того, прежде чем Endgame () будет вызван в текущем экземпляре. Тем не менее, используя класс таймера, я не уверен, как бы я вызвал метод, который мне нужен в текущем экземпляре, так как я не могу передать какие -либо параметры методу запуска Timertasks?

Есть ли простой способ сделать это или я пойду на это неправильно? (Примечание: это только консольный проект, нет графического интерфейса)

==========

Код отредактирован

Я изменил код на вышесказанное после рекомендаций, и он работает почти так, как я ожидаю, однако поток все еще, кажется, не заканчивается должным образом. Я был тем, что петля умерла, и контроль в конечном итоге вернулся к основному методу. Любые идеи?

Это было полезно?

Решение

Ссылка, которую вы поставляли, предполагаемые, что вы можете ввести URL-адрес в веб-приложении, поэтому, если нет, вы не вводите URL-адрес, он будет шириной фермы, иначе веб-приложения.

Управляя его на нижнем уровне (коллекция сайтов, веб, список и т. Д.) Не удается с командой.Для этого в одном списке вы можете использовать XSL.

Команда stsadm stsadm -o setproperty -pn days-to-show-new-icon -pv 14 действительна для 2010 года.

Другие советы

Используйте .val() , не .attr() , для установки значения элемента.

http://jsfiddle.net/mattball/jjjsf/


Как побочная записка, это не удаленно, как .attr() - или JavaScript в качестве языка - работает.Вы не можете использовать вызов функции на левой стороне оператора назначения.Это бессмысленно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top