帮忙编写一个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、要求程序在集成开发环境中完成。
展开
 我来答
紫薇参星
科技发烧友

2013-06-16 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3603万
展开全部

按照你的要求编写的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();

 }

}
yzanthony
2013-06-07 · TA获得超过100个赞
知道答主
回答量:56
采纳率:0%
帮助的人:31.6万
展开全部
给200分我就用Swing帮你搞一个出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨寒no泪
2013-06-07 · 超过31用户采纳过TA的回答
知道答主
回答量:159
采纳率:100%
帮助的人:83.6万
展开全部
我开始写了,把分先留着啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式