帮别人问一道JAVA题

yzx714 2009-06-28 03:13:36
我不会JAVA,他问我,我问你们~~
设计一个如图所示的换算器程序。其中换算公式如下:
华氏温度转摄氏温度:C=5*(F-32)/9
摄氏温度转华氏温度:F=32+C*9/5
英里转公里:KM=miles/0.62
公里转英里:mile=0.62*KM

...全文
58 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxiang112 2009-07-02
  • 打赏
  • 举报
回复
给我一点时间,我试试看,看行不行,发人快的话明天就可以搞得出
jxiang112 2009-07-02
  • 打赏
  • 举报
回复
这个还不能完全实现,就是差在如果输入的是0就实现不了,请各帮指点一二
jxiang112 2009-07-02
  • 打赏
  • 举报
回复
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Mymain implements ActionListener
{
JFrame jf=new JFrame("转换器");
JPanel jp=new JPanel();
JLabel jl1=new JLabel("输入数据");
JLabel jl2=new JLabel("转换数据");
JLabel jl3=new JLabel("选择转换关系:");
JTextField jt1=new JTextField();
JTextField jt2=new JTextField();
JButton jb[]={new JButton("1"),new JButton("2"),new JButton("3"),new JButton("4"),new JButton("5"),
new JButton("6"),new JButton("7"),new JButton("8"),new JButton("9"),new JButton("0"),
new JButton("C"),new JButton("S")};//C按钮是实现转换功能,S按钮实现的是清空功能.
JRadioButton jrb[]={new JRadioButton("摄氏温度换算为华氏温度"),new JRadioButton("华氏温度换算为摄氏温度"),
new JRadioButton("公里数换算为英里数"),new JRadioButton("英里数换算为公里数")};
ButtonGroup bg=new ButtonGroup();
private double C;
private double F;
private double KM;
private double mile;
public int a=0,b=0,j=0,m=0,s1=1;
public String s="";
public Mymain()
{
jp.setLayout(null);
jl1.setBounds(30,10,60,20);
jp.add(jl1);
jt1.setBounds(90,10,80,20);
jp.add(jt1);
jl2.setBounds(185,10,60,20);
jp.add(jl2);
jt2.setBounds(245,10,80,20);
jp.add(jt2);
jl3.setBounds(25,50,150,20);
for(int i=0;i<12;i++)
{
if(i==0)
{
jb[i].setBounds(285,50,50,20);
jp.add(jb[i]);
jb[i].addActionListener(this);
}
else if(i%3!=0)
{
++a;
jb[i].setBounds(285+a*50,50+j*30,50,20);
jp.add(jb[i]);
jb[i].addActionListener(this);
}
else
{
j++;
a=0;
jb[i].setBounds(285,50+j*30,50,20);
jp.add(jb[i]);
jb[i].addActionListener(this);
}

}
for(int i=0;i<4;i++)
{
jrb[i].setBounds(25,70+i*20,250,20);
bg.add(jrb[i]);
jp.add(jrb[i]);
jrb[i].addActionListener(this);
}
jp.add(jl3);
jf.add(jp);
jf.setVisible(true);
jf.setBounds(10,10,500,300);

}
public void actionPerformed(ActionEvent e)
{
for(int i=0;i<12;i++)
{
if(e.getSource()==jb[i]&&i<9)
{

s=s+(i+1);
jt1.setText(s);
}
else if(e.getSource()==jb[10])
{
try
{
b=Integer.parseInt(jt1.getText().trim());
if(jrb[0].isSelected())
{
C=5*(b-32)/9;
s="";
s=s+C;
jt2.setText(s);
}
else if(jrb[1].isSelected())
{
F=32+b*9/5;
s="";
s=s+F;
jt2.setText(s);
}
else if(jrb[2].isSelected())
{
KM=b/0.62;
s="";
s=s+KM;
jt2.setText(s);
}
else if(jrb[3].isSelected())
{
mile=b*0.62;
s="";
s=s+mile;
jt2.setText(s);
}
}
catch (Exception ee){}
}
else if(e.getSource()==jb[11])
{
jt1.setText("");
jt2.setText("");
s="";
}


else if(e.getSource()==jb[9])
{
//s1="0";
s=s+(s1-1);
jt1.setText(s);
}
}
}
public static void main(String[] args)
{

Mymain m=new Mymain();
}
}
grass_12 2009-07-02
  • 打赏
  • 举报
回复
假的吧,会找一个不会的人问问题,
dudenglan 2009-07-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zuijiejina 的回复:]
我记得java core中好像有类似的计算器,只不过书上的例子是简单的四则运算
楼主可以去找来看看,大同小异
[/Quote]
不需要四则运算啊!
这个很简单吗?
就按数据,确定后直接套用公式啊!
反正公式是死的!
zm_hs 2009-06-29
  • 打赏
  • 举报
回复
已经有公式了,这很简单的
zhoufanyy 2009-06-29
  • 打赏
  • 举报
回复
以前做过java计算器,好像就是用按钮事件来安成的
prawnliu 2009-06-28
  • 打赏
  • 举报
回复
现在是有这个图,但是要让我把这个图上的计算器编程程序。不会啊
蜡笔和小新 2009-06-28
  • 打赏
  • 举报
回复
既然已经有了换算公式了,只要获得第一个框的值,给单选按钮添加点击事件(换算公式),然后再用第二个框接受不就行了!
yzq_xiaoxian 2009-06-28
  • 打赏
  • 举报
回复
看着应该不难吧
zuijiejina 2009-06-28
  • 打赏
  • 举报
回复
我记得java core中好像有类似的计算器,只不过书上的例子是简单的四则运算
楼主可以去找来看看,大同小异
prawnliu 2009-06-28
  • 打赏
  • 举报
回复
我来了,谢谢你帮我发这个帖子啊~~~
yzx714 2009-06-28
  • 打赏
  • 举报
回复
设计一个如图所示的换算器程序
zuijiejina 2009-06-28
  • 打赏
  • 举报
回复
问题呢

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧