

uj5u.com熱心網友回復:
可以貼代碼么。。而且你也沒有標注在哪里不運行了。。。uj5u.com熱心網友回復:
import java.awt.Dimension;
import java.awt.Toolkit;
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.JTextField;
import input.WindowInput;
public class One {
public static void main(String[] args) {
JFrame jFrame = new JFrame("算術運算測驗程式");//定義一個視窗
int with = 200; //寬
int height = 380; //高
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
//dimension是Java的一個類,封裝了一個構件的高度和寬度
jFrame.setBounds(((int) dimension.getWidth() - with) / 2, ((int) dimension.getHeight() - height) / 2, with, height);//設定初始位置
jFrame.setResizable(false); //設定視窗不可調節大小
jFrame.setLayout(null); //設定一個空布局
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//關閉圖示之后怎么辦
Random random = new Random(); //設定一個亂數
final JLabel[] lablesA = new JLabel[10]; //設定標簽
final JLabel[] lablesB = new JLabel[10];
final JLabel[] lablesC = new JLabel[10];
final JTextField[] texts = new JTextField[10];//十個輸入文本框
String[] operates = {"+", "-"}; //加減號
int n=1;
WindowInput h=new WindowInput();//輸入題數
n=h.Tran(); //賦值
for(int i = 0; i <n; i++) {
int a = random.nextInt(100); //產生0-100的亂數
lablesA[i] = new JLabel("" + a);
lablesA[i].setBounds(0, i * 30, 20, 30); //放置的位置及大小
jFrame.add(lablesA[i]); //添加組件
int operateNumber = random.nextInt(operates.length); //設定一個0或1的亂數
lablesB[i] = new JLabel(operates[operateNumber]);
lablesB[i].setBounds(30, i * 30, 20, 30);
jFrame.add(lablesB[i]);
int b = 0;
if(operateNumber == 0) {
b = random.nextInt(100 - a); //令a+b<=100
} else {
b = random.nextInt(a); //令b<=a
}
lablesC[i] = new JLabel("" + b);
lablesC[i].setBounds(60, i * 30, 20, 30);
jFrame.add(lablesC[i]);
JLabel label = new JLabel("=");
label.setBounds(90, i * 30, 20, 30);
jFrame.add(label);
texts[i] = new JTextField();
texts[i].setBounds(120, i * 30 + 5, 70, 20);
jFrame.add(texts[i]); //添加輸入文本框
}
JButton button = new JButton("計算分數"); //設定按鈕
button.setBounds(0, 300, 190, 50); //按鈕的位置及大小
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int count = 0;
for(int i = 0; i <5; i++) {
try {
int result = Integer.parseInt(texts[i].getText()); //獲得int型的數值
int a = Integer.parseInt(lablesA[i].getText());
int c = Integer.parseInt(lablesC[i].getText());
if(("+".equals(lablesB[i].getText()) && a + c == result)
|| ("-".equals(lablesB[i].getText()) && a - c == result) ) {
count++;
}
} catch(Exception ex) {
}
}
JOptionPane.showMessageDialog(null, "你得了:" + count * 10 + "分", "提示", JOptionPane.INFORMATION_MESSAGE);
}
});
jFrame.add(button);
jFrame.setVisible(true);
}
}
uj5u.com熱心網友回復:
可以運行,但是沒有功能uj5u.com熱心網友回復:
WindowInput h=new WindowInput();//輸入題數n=h.Tran(); 這個是干什么用的? 我把n固定為10,是有功能的。。是不是因為你的h.Tran()==0 啊。。。你看一下
uj5u.com熱心網友回復:
請看置頂貼,學會貼代碼,然后標注一下哪里有問題。
uj5u.com熱心網友回復:
WindowInput h=new WindowInput();//輸入題數
n=h.Tran(); 這個是干什么用的? 我把n固定為10,是有功能的。。是不是因為你的h.Tran()==0 啊。。。你看一下
我也,最開始n是10,是可以的,WindowInput h,是定義了一個類變數,參考了WindowInput里的JTextField變數inputNumber。我是想輸入一個數字,然后出現和輸入數字一樣的題數。WindowInput是自定義類,這個也要貼出來嗎?還是說說明一下就好了呢?
uj5u.com熱心網友回復:
可以貼代碼么。。而且你也沒有標注在哪里不運行了。。。
請看置頂貼,學會貼代碼,然后標注一下哪里有問題。
好的,因為我是手機發帖,第一次發帖,沒有看見置頂
uj5u.com熱心網友回復:
WindowInput h=new WindowInput();//輸入題數
n=h.Tran(); 這個是干什么用的? 我把n固定為10,是有功能的。。是不是因為你的h.Tran()==0 啊。。。你看一下
我也,最開始n是10,是可以的,WindowInput h,是定義了一個類變數,參考了WindowInput里的JTextField變數inputNumber。我是想輸入一個數字,然后出現和輸入數字一樣的題數。WindowInput是自定義類,這個也要貼出來嗎?還是說說明一下就好了呢?
那你可以輸出一下這個就可以了。。看看獲取出來的值是不是0,如果是0,你要看一下賦值的程序。。
uj5u.com熱心網友回復:
運行不成功,應該有報錯的。。。。。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/238714.html
標籤:Java相關
下一篇:資料庫物體類與請求參如何匹配
