急需 JAVA問題

可以幫我用JFram功能寫一個猜數字遊戲嗎

只要有1個text做輸入1個button跟顯示輸入的數字跟答案的範圍及正確時顯示猜中了

答案用亂數1-1000中隨機一個

另外我想問 如果我要用亂射出來的直跟text用IF做判斷要怎麼寫 TEXT都是STRING 不知道怎麼轉成數字

已更新項目:

JOHN 請問能幫我解釋一下個行在做甚麼嗎

2 個已更新項目:

其實每行幾乎都看不太懂 主要是import用法 AppService service;這個的功用 還有有沒有辦法讓執行後的視窗能在中間而不是固定在左上角

3 個已更新項目:

另外請問如何設定成這樣 假設我輸入500 最大值1000 正確600 能讓顯示視窗出現 答案介於500~1000之間

4 個已更新項目:

亂數那我也不太懂 跟我會的亂數不太一樣

5 個已更新項目:

可以的話幫我解釋一下每一行的功用 不行的話就解釋重上面的就好了

2 個解答

評分
  • John
    Lv 7
    5 年前
    最佳解答

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

    import java.util.Random;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.JLabel;

    import javax.swing.JOptionPane;

    import javax.swing.JPanel;

    import javax.swing.JTextField;

    import javax.swing.SwingUtilities;

    public class Program extends JFrame {

    private static final long serialVersionUID = 4763747833494571558L;

    private JTextField txtGuestedNumber;

    private JButton btnProceed;

    private AppService service;

    private int magicNumber;

    public static void main(String[] args) {

    SwingUtilities.invokeLater(new Runnable() {

    @Override

    public void run() {

    new Program();

    }

    });

    }

    public Program() {

    JPanel pane = new JPanel();

    pane.add(new JLabel("Guest number? "));

    txtGuestedNumber = new JTextField(4);

    pane.add(txtGuestedNumber);

    btnProceed = new JButton("Guest");

    btnProceed.addActionListener(new ActionListener() {

    @Override

    public void actionPerformed(ActionEvent e) {

    int guestedNumber = Integer.parseInt(txtGuestedNumber.getText());

    String message = "Your have guested the magic number.";

    if (magicNumber < guestedNumber) {

    message = "Your guested number is too big.";

    } else if (magicNumber > guestedNumber) {

    message = "Your guested number is too small.";

    }

    JOptionPane.showMessageDialog(null, message);

    }

    });

    pane.add(btnProceed);

    service = new AppServiceImpl();

    magicNumber = service.getMagicNumber(1, 1000);

    System.out.println(magicNumber); // for debug...

    add(pane);

    setTitle("Magic Number");

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setSize(300, 300);

    setVisible(true);

    }

    }

    interface AppService {

    int getMagicNumber(int min, int max);

    }

    class AppServiceImpl implements AppService {

    @Override

    public int getMagicNumber(int min, int max) {

    return new Random().nextInt(max - min + 1) + 1;

    }

    }

    2014-12-26 14:09:24 補充:

    幫我解釋一下個行在做甚麼嗎

    邊一行呢?請問。

    2014-12-27 18:17:05 補充:

    原全唔明就放棄吧,妳唔會明。要知篇幅所限根本無能續行教妳。

    連怎樣寫都唔知,又何必理會如何放視窗在那兒呢。

    答案介於500~1000之間

    magicNumber = service.getMagicNumber(500, 1000);

    "亂數那我也不太懂 跟我會的亂數不太一樣" 妳可能用這方法找 1 至 1000,

    1 + (int) (Math.random() * 1000)

  • 5 年前

    九卅遊戲館 官網 TS777。CC 歡迎 免費 加入

    彩球 - bingo、三星彩、四星彩、539、六合、KENO彩、威力彩等各國彩球遊戲

    體育 -- 世界各國籃球(NBA)、棒球(MLB)、網球、冰球、足球等遊戲

    電子 機台 -- 5PK、水果盤、7 PK、金瓶梅、趙雲救主等復古 遊戲

    真人 遊戲 -- 骰寶、翻攤、龍虎、百家樂、三公、21點、輪盤等現場及手臂 遊戲

    對戰 GAME -- 麻將、大老二、德州撲克、暗棋、接龍、五 子棋、鬥地主等真 人競技 遊戲

    歡迎 免費 加入

    九卅體育館 官網 TS777。CC 歡迎 免費 試玩

還有問題?馬上發問,尋求解答。