<pre class="c" name="code">
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class disc0615 {
public static void main(String[] args) throws IOException{
new disc0615();
}
JFrame myframe_1 = new JFrame("骰子計算 [@hua]"); // 標題
JLabel LabelName;
JTextArea NumberTextArea = new JTextArea();
JButton button_1 = new JButton();
JTextArea messageTextArea = new JTextArea();
JScrollPane ScrollPane = new JScrollPane();
JPanel Panel1 = new JPanel();
JPanel Panel2 = new JPanel();
int A = 0 , B = 0; // 設A.B骰子
int sum = 0; // 設總和
int k = 0; // 計算總合=6
String F1 = " "; // 設定該次=6標記
public disc0615() throws IOException {
myframe_1.setBounds(300, 240, 350, 200);
myframe_1.setLayout(null);
myframe_1.setVisible(true); // 顯示框架
myframe_1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 關閉後,結束全部處理程
myframe_1.setResizable(false); // 使用者不可變更視窗大小(無最大化)
myframe_1.setAlwaysOnTop(true); // 指定視窗在最上層顯示
myframe_1.add(LabelName = new JLabel("骰子的次數:"));
LabelName.setBounds(10, 10, 100, 20);
myframe_1.add(NumberTextArea); // 控制次數
NumberTextArea.setBounds(100, 10, 100, 20);
myframe_1.add(button_1 = new JButton("start"));
button_1.setBounds(220, 10, 70, 20);
// 設定捲軸框
myframe_1.getContentPane().add(ScrollPane = new JScrollPane(messageTextArea));
ScrollPane.setBounds(10, 40, 300, 95);
Dimension area = new Dimension(100,100);
messageTextArea.setPreferredSize(area);
messageTextArea.setLayout(null);
Button();
}
private void Button(){
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
Integer number = Integer.parseInt(NumberTextArea.getText());// 控制次數
for(int i = 1 ; i<number+1 ; i++ ){
A = (int)(Math.random() * 7+1); // 產生A亂數
B = (int)(Math.random() * 7+1); // 產生B亂數
sum = A + B;
if(sum==6){
F1 = "yes" ;
k++;
}else{F1 = " ";}
messageTextArea.append(i +". [骰子A= " + A + "] [骰子B= " + B + "] [總和= " + sum + "] " + F1 + "\n");
messageTextArea.setCaretPosition(messageTextArea.getText().length());
// 重新檢查 是否要捲軸
messageTextArea.revalidate(); // 重新檢查
Dimension area = new Dimension(100,messageTextArea.getText().length());
messageTextArea.setPreferredSize(area);
messageTextArea.getPreferredSize().setSize(area);
messageTextArea.getPreferredSize().getSize();
}
messageTextArea.append("\n.........A + B = 6 共有 " + k + " 次");
}
});
}
}
您好,謝謝你用新的回覆
但我想請問一下,可否做到連續做...我只須要給他做的時間頻率,不間斷的做,然後機率也會依據不間斷的骰骰子而動態改變?
補充說明一下,我不要限定測試次數,用執行緒做的到?
列72改成這樣
不就會跑到當機為止
<pre class="c" name="code">for(int i = 1 ; i<number+1 ; ){
寫這程式的目的到底是什麼?
難道你是在當好人,寫作業追女生
真是好心人!
antijava提到:
寫作業追女生
沒用的,這樣只會有好人卡...
太無聊拉
看這問題還蠻easy,就try一下囉!!