在这段代码中,将new Double(area)
替换为Double.valueOf(area)
可以消除过时的警告。修改后的代码如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Client extends JFrame implements ActionListener
{
JButton output;
JLabel labelA,labelB,labelC;
JTextField inputA,inputB,inputC;
JTextArea showResult;
JPanel p;
Client(){
setLayout(new FlowLayout());
p=new JPanel(new GridLayout(3,2));
labelA = new JLabel("边长A:");
inputA = new JTextField(10);
labelB = new JLabel("边长B:");
inputB = new JTextField(10);
labelC = new JLabel("边长C:");
inputC = new JTextField(10);
output = new JButton("计算");
showResult = new JTextArea(5, 30);
p.add(labelA);
p.add(inputA);
p.add(labelB);
p.add(inputB);
p.add(labelC);
p.add(inputC);
output.addActionListener(this);
add(p);
add(output);
add(showResult);
setTitle("求三角形面积");
setLocation(100,100);
setSize(600,160);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
double a,b,c,p,area;
String s;
a=Double.parseDouble(inputA.getText());
b=Double.parseDouble(inputB.getText());
c=Double.parseDouble(inputC.getText());
if(a>0&&b>0&&c>0){
if(a+b>c && b+c>a && a+c>b){
p=(a+b+c)/2;
area=Math.sqrt(p*(p-a)*(p-b)*(p-c));
s=String.valueOf(area);
if(showResult.getText().equals("")){
showResult.setText("三角形的面积为:" + s);
}else{
showResult.append("\n三角形的面积为:" + s);
}
}else{
if(showResult.equals("")){
showResult.append("不满足三角不等式。");
}else{
showResult.append("\n不满足三角不等式。");
}
}
}else{
if(showResult.equals("")){
showResult.append("边长不能为负!");
}else{
showResult.append("\n边长不能为负!");
}
}
}
public static void main(String[] args)
{
new Client();
}
}
这样修改后,就消除了Double中构造方法过时的警告。
内容由零声教学AI助手提供,问题来源于学员提问