gpt4 book ai didi

java - 整数不会出现在文本字段中

转载 作者:行者123 更新时间:2023-12-01 11:47:18 25 4
gpt4 key购买 nike

我的程序有问题。我正在尝试将一个整数放入文本字​​段中。这是我的代码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseEvent.*;

public class GradingSystem extends JFrame{

public GradingSystem(){
super("Grading System");
JLabel pre = new JLabel ("PRELIM GRADE: ");
final JTextField pre1 = new JTextField(10);
JLabel mid = new JLabel("MIDTERM GRADE: ");
final JTextField mid1 = new JTextField(10);
JLabel fin = new JLabel ("FINAL GRADE: ");
final JTextField fin1 = new JTextField(10);
JLabel ave = new JLabel("AVERAGE: ");
final JTextField ave1 = new JTextField(10);
JButton calculate = new JButton("CALCULATE");
FlowLayout flo = new FlowLayout();
setLayout(flo);
add(pre);
add(pre1);
add(mid);
add(mid1);
add(fin);
add(fin1);
add(ave);
add(ave1);
add(calculate);
setSize(315,150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);

calculate.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){
try{
int i1 = Integer.parseInt(pre1.getText());
int i2 = Integer.parseInt(mid1.getText());
int i3 = Integer.parseInt(fin1.getText());
int i4 = Integer.parseInt(ave1.getText());

i4 = (i1 + i2 + i3) / 3;


ave1.setText(String.valueOf(i4));
}catch(Exception ex){

}
}

});



}

public static void main(String[] a){
GradingSystem gs = new GradingSystem();
}

}

我尝试让 ave1.setText(String.valueOf(i4)); 出现在文本字段中,但它不会。
我究竟做错了什么?

最佳答案

你的问题是这一行。

int i4 = Integer.parseInt(ave1.getText());

大概,当您单击“计算”时,ave1 中还没有任何值,因此该行将引发异常,并且永远不会到达它下面的行。

从代码中删除该行,并将单词 int 添加到其下面的行中。

int i4 = (i1 + i2 + i3) / 3;

作为一般规则,空的 catch block ,例如您正在使用的 block

catch(Exception ex){

}

这是一个非常糟糕的想法;因为这意味着当抛出异常时你看不到问题所在。切勿这样做。

关于java - 整数不会出现在文本字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29058068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com