2014-10-13 2 views
-1
package penny_pinch_v2; 

public class Board { 

    public static String[] board = new String[25]; 

    public static void fillBoard() { 
    for (int i = 0; i < 25; i++) { 
     board[i] = "[ ]"; 
    } 
    } 
    public static void printBoard() { 
    for (int i = 0; i < 25; i++) { 
     if (i == 5 || i == 10 || i == 15 || i == 20) 
     System.out.println(); 
     System.out.format("%12s", board[i]); 
    } 
    } 
} 
package penny_pinch_v2; 

import java.util.Random; 

public class Pennies { 

    private static Random random; 

    public static void throwPennies() { 
    int count, randInt; 
    random = new Random(); 
    for (int i = 0; i < 10; i++) { 
     randInt = random.nextInt(25); 
     count = 0; 
     while (count == 0) { 
     if (Board.board[randInt].charAt(1) != '[') { 
      Board.board[randInt] = "[" + Board.board[randInt] + "]"; 
      count++; 
     } 
     } 
    } 
    } 
} 
package penny_pinch_v2; 

import java.util.Random; 

public class Prizes { 

    private static Random random; 
    public static String[] prizes = { 
    "Puzzle", "Poster", "Ball", "Game", "Doll" 
    }; 
    public static int[] prizeCount = new int[5]; 

    public static void fillPrizes() { 
    int count, randInt; 
    random = new Random(); 
    for (int i = 0; i < 3; i++) { 
     for (int j = 0; j < 5; j++) { 
     count = 0; 
     while (count == 0) { 
      randInt = random.nextInt(25); 
      if (Board.board[randInt] == "[ ]") { 
      Board.board[randInt] = "[" + prizes[j] + "]"; 
      count++; 
      } 
     } 
     } 
    } 
    } 
    public static void checkPrizes() { 
    for (int i = 0; i < 25; i++) { 
     if (Board.board[i].equals("[[Puzzle]]")) 
     prizeCount[0] ++; 
     else if (Board.board[i].equals("[[Poster]]")) 
     prizeCount[1] ++; 
     else if (Board.board[i].equals("[[Bass]]")) 
     prizeCount[2] ++; 
     else if (Board.board[i].equals("[[Game]]")) 
     prizeCount[3] ++; 
     else if (Board.board[i].equals("[[Doll]]")) 
     prizeCount[4] ++; 
    } 
    } 

} 
package penny_pinch_v2; 

public class RunPennyPinch { 
    public static void main(String[] args) { 

    Board.fillBoard(); 
    Prizes.fillPrizes(); 
    Pennies.throwPennies(); 
    Board.printBoard(); 
    Prizes.checkPrizes(); 

    for (int j = 0; j < 5; j++) { 
     if (Prizes.prizeCount[j] == 3) { 
     System.out.println("You won a " + Prizes.prizes[j] + "!"); 
     } 
    } 
    } 
} 

Эй, у меня есть то, что я думал, что рабочий код, но я недавно имел проблемы с получением консоли для отображения ничего. Прежде чем добавить метод checkPrizes(), все было в порядке. На следующий день я попытался запустить его, и Eclipse перестанет отвечать на несколько секунд, и ничего не появится в консоли. Если кто-то может прояснить, что не так, (любые логические ошибки, бесконечные петли или сам Eclipse), это было бы потрясающе. Ура!Почему мой код не производит никакого вывода?

+1

Вы пытались отладить это в Eclipse? – Voicu

+4

Java и Javascript - совершенно разные языки –

+0

Это действительно странно, я пробовал отлаживать и отображал правильный вывод, но это был только первый раз, после чего он вернулся, чтобы не отвечать ... – user3285292

ответ

-1

Вы можете попробовать удалить checkPrizes() и запустить его снова. Вероятно, это даст некоторое понимание. или может быть, вы можете попробовать выполнить через CLI. который может устранить, если проблема связана с eclipse.

0

Здесь вы можете остановиться, если хотите увеличить сумму count в методе throwPennies или, может быть, это состояние, которое прерывает этот цикл while. Я изменил его, как показано ниже.

while (count == 0) { 
     System.out.println("inside throw pennies while"); 
    if (Board.board[randInt].charAt(1) != '[') { 
        System.out.println("inside throw pennies if"); 
     Board.board[randInt] = "[" + Board.board[randInt] + "]"; 

    } 
    count++; 
    } 

Дайте мне знать, если это поможет.

+0

Извините, но нет. Проблема, похоже, заключается в checkPrizes(), поскольку код будет работать, когда выигрыши не будут выиграны. – user3285292

Смежные вопросы