帮忙编写一个java小程序 100分哦 代码发到邮箱就可以。 1186243413@qq.com
要求如下编写一个JavaApplication或者JavaApplet,实现有理数操作。界面类似于以下形式:具体操作如下:在第一个文本框中输入“2/3”,在第二个文本框中...
要求如下
编写一个Java Application或者Java Applet,实现有理数操作。界面类似于以下形式:
具体操作如下:在第一个文本框中输入“2/3”,在第二个文本框中输入“3/4”,点击“相加”按钮则在第三个文本框中输出“17/12”,点击“相减”按钮则在第三个文本框中输出“-1/12”,点击“相乘”按钮则在第三个文本框中输出“1/2”,点击“相除”按钮则在第三个文本框中输出“8/9”,点击“清空”按钮则清空三个文本框内容。
具体要求:1、要求程序在集成开发环境中完成。 展开
编写一个Java Application或者Java Applet,实现有理数操作。界面类似于以下形式:
具体操作如下:在第一个文本框中输入“2/3”,在第二个文本框中输入“3/4”,点击“相加”按钮则在第三个文本框中输出“17/12”,点击“相减”按钮则在第三个文本框中输出“-1/12”,点击“相乘”按钮则在第三个文本框中输出“1/2”,点击“相除”按钮则在第三个文本框中输出“8/9”,点击“清空”按钮则清空三个文本框内容。
具体要求:1、要求程序在集成开发环境中完成。 展开
3个回答
展开全部
按照你的要求编写的Java程序如下:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class FFF extends JFrame implements ActionListener{
JLabel jl1=new JLabel("有理数的第一个操作数:以a/b的形式输入");
JLabel jl2=new JLabel("有理数的第二个操作数:以a/b的形式输入");
JLabel jl3=new JLabel("结果:以a/b的形式输出");
JTextField jtf1=new JTextField(10);
JTextField jtf2=new JTextField(10);
JTextField jtf3=new JTextField(10);
JButton jb1=new JButton("相加");
JButton jb2=new JButton("相减");
JButton jb3=new JButton("相乘");
JButton jb4=new JButton("相除");
JButton jb5=new JButton("清空");
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp11=new JPanel();
JPanel jp12=new JPanel();
JPanel jp13=new JPanel();
int a,b,c,d;
FFF(){
super("有理数运算");
jp1.setLayout(new GridLayout(3,1));
jp11.add(jl1);jp11.add(jtf1);
jp12.add(jl2);jp12.add(jtf2);
jp13.add(jl3);jp13.add(jtf3);
jp1.add(jp11);jp1.add(jp12);jp1.add(jp13);
jp2.add(jb1);jp2.add(jb2);
jp2.add(jb3);jp2.add(jb4);
jp2.add(jb5);
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jb4.addActionListener(this);
jb5.addActionListener(this);
add(jp1,BorderLayout.CENTER);
add(jp2,BorderLayout.SOUTH);
setSize(500,200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==jb1){
jtf3.setText(add(jtf1.getText(),jtf2.getText()));
}
if(ae.getSource()==jb2){
jtf3.setText(subtract(jtf1.getText(),jtf2.getText()));
}
if(ae.getSource()==jb3){
jtf3.setText(multiply(jtf1.getText(),jtf2.getText()));
}
if(ae.getSource()==jb4){
jtf3.setText(divide(jtf1.getText(),jtf2.getText()));
}
if(ae.getSource()==jb5){
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
}
}
String add(String param1,String param2){
chaifen(param1,param2);
int fenzi=a*d+c*b;
int fenmu=b*d;
int m=gys(Math.abs(fenzi),fenmu);
if(m>1){
fenzi=fenzi/m;
fenmu=fenmu/m;
}
return fenzi+"/"+fenmu;
}
String subtract(String param1,String param2){
chaifen(param1,param2);
int fenzi=a*d-c*b;
int fenmu=b*d;
int m=gys(Math.abs(fenzi),fenmu);
if(m>1){
fenzi=fenzi/m;
fenmu=fenmu/m;
}
return fenzi+"/"+fenmu;
}
String multiply(String param1,String param2){
chaifen(param1,param2);
int fenzi=a*c;
int fenmu=b*d;
int m=gys(Math.abs(fenzi),fenmu);
if(m>1){
fenzi=fenzi/m;
fenmu=fenmu/m;
}
return fenzi+"/"+fenmu;
}
String divide(String param1,String param2){
chaifen(param1,param2);
int fenzi=a*d;
int fenmu=b*c;
int m=gys(Math.abs(fenzi),fenmu);
if(m>1){
fenzi=fenzi/m;
fenmu=fenmu/m;
}
return fenzi+"/"+fenmu;
}
void chaifen(String param1,String param2){
String []tmp1=param1.split("/");
a=Integer.parseInt(tmp1[0]);
b=Integer.parseInt(tmp1[1]);
String []tmp2=param2.split("/");
c=Integer.parseInt(tmp2[0]);
d=Integer.parseInt(tmp2[1]);
}
int gys(int a,int b) {
int min = a;
int max = b;
if (a > b) {
min = b;
max = a;
}
if (max%min == 0)
return min;
else
return gys(min,max%min);
}
public static void main(String[] args) {
new FFF();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询