问题描述:
NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托
的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任
务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些
一元一次方程的实例: 4+3x=8
6a-5+1=2-2a
-5+12Y=0 ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母
及十、一、=这三个数学符号(当然,符号“一”既可作减号,也可作负号)。方程中并没
有括号,也没有除号,方程中的字母表示未知数。问题求解:
编写程序,解输入的一元一次方程,将解方程的结果(精确至小数点后三位)输出至屏幕。 你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一
元一次方程均为合法的,且有唯一实数解。样例输入:
6a-5+1=2-2a输出:
a=0.750
应该发到哪个模块?
NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托
的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任
务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些
一元一次方程的实例: 4+3x=8
6a-5+1=2-2a
-5+12Y=0 ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母
及十、一、=这三个数学符号(当然,符号“一”既可作减号,也可作负号)。方程中并没
有括号,也没有除号,方程中的字母表示未知数。问题求解:
编写程序,解输入的一元一次方程,将解方程的结果(精确至小数点后三位)输出至屏幕。 你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一
元一次方程均为合法的,且有唯一实数解。样例输入:
6a-5+1=2-2a输出:
a=0.750
应该发到哪个模块?
import java.awt.event.*;
class 圆 extends Panel implements ActionListener
{
double r,area;
TextField 半径=null,结果=null;
Button b=null;
圆()
{
半径=new TextField(10);
结果=new TextField(10);
b=new Button("确定");
add(new Label("输入半径"));
add(半径);
add(new Label("面积是:"));
add(结果);
add(b);
b.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
try{
r=Double.parseDouble(半径.getText());
area=Math.PI*r*r;
结果.setText(""+area);
}
catch(Exception ee)
{
半径.setText("请输入数字字符");
}
}
}
class 三角形 extends Panel implements ActionListener
{
double a=0,b=0,c=0,area;
TextField 边_a=new TextField(6), 边_b=new TextField(6),边_c=new TextField(6), 结果=new TextField(24);
Button button=new Button("确定");
三角形()
{
add(new Label("输入三边的长度"));
add(边_a);
add(边_b);
add(边_c);
add(new Label("面积是:"));
add(结果);
add(button);
button.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
try{
a=Double.parseDouble(边_a.getText());
b=Double.parseDouble(边_b.getText());
c=Double.parseDouble(边_c.getText());
if(a+b>c&&a+c>b&&c+b>a)
{
double p=(a+b+c)/2;
area=Math.sqrt(p*(p-a)*(p-b)*(p-c));
结果.setText(""+area);
}
else
{
结果.setText("您输入的数字不能形成三角形");
}
}
catch(Exception ee)
{
结果.setText("请入数字字符");
}
}
}
class Win extends Frame implements ActionListener
{
MenuBar bar=null;
Menu menu=null;
MenuItem item1,item2;
圆 circle;
三角形 trangle;
Win()
{
bar=new MenuBar();
menu=new Menu("选择");
item1=new MenuItem("圆面积计算");
item2=new MenuItem("三角形面积计算");
menu.add(item1);
menu.add(item2);
bar.add(menu);
setMenuBar(bar);
circle=new 圆();
trangle=new 三角形();
item1.addActionListener(this);
item2.addActionListener(this);
setVisible(true);
setBounds(100,120,100,90);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==item1)
{
removeAll();
add(circle,"Center");
validate();
}
else if(e.getSource()==item2)
{
removeAll();
add(trangle,"Center");
validate();
}
}
}
public class ex_3_8_2
{
public static void main(String args[])
{
Win win=new Win();
win.setBounds(200,200,200,200);
win.setVisible(true);
win.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}