新手上路,怎样在JAVA程序中控制整数的数位?急!!!

jf007945_2006 2005-12-26 12:29:16
想用JAVA作计算器,怎样在JAVA程序中控制整数的数位,有没有作计算器相关的程序借鉴一下。万分感谢!
...全文
268 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlebrid 2006-01-15
  • 打赏
  • 举报
回复
getActionCommand();
先区出文本框中的数字
setText()+getActionCommand();
"2"+"1"
21
monly 2006-01-02
  • 打赏
  • 举报
回复
整数先做运算
再转成字符串
可参见上面几个程序
  • 打赏
  • 举报
回复
读出来判断一下大小不就行了么或者就控制一下输入框输入字符的个数
shemalu 2005-12-28
  • 打赏
  • 举报
回复
UP~~~
帮顶一下`~~~
nego_orange 2005-12-27
  • 打赏
  • 举报
回复
jPanel1.add(jButton1);
jPanel1.add(jButton2);
jPanel1.add(jButton3);
jPanel1.add(jButton4);
jPanel1.add(jButton5);
jPanel1.add(jButton6);
jPanel1.add(jButton7);
jPanel1.add(jButton8);
jPanel1.add(jButton9);
jPanel1.add(jButton10);
jPanel1.add(jButton11);
jPanel1.add(jButton12);
jPanel1.add(jButton13);
jPanel1.add(jButton14);
jPanel1.add(jButton15);
jPanel1.add(jButton16);
jPanel1.add(jButton17);
jPanel1.add(jButton18);
jPanel1.add(jButton19);
jPanel1.add(jButton20);

NumericListener a=new NumericListener();
jButton1.addActionListener(a);
jButton2.addActionListener(a);
jButton3.addActionListener(a);
jButton6.addActionListener(a);
jButton7.addActionListener(a);
jButton8.addActionListener(a);
jButton11.addActionListener(a);
jButton12.addActionListener(a);
jButton13.addActionListener(a);
jButton16.addActionListener(a);
jButton18.addActionListener(a);

OperationListener b=new OperationListener();
jButton4.addActionListener(b);
jButton5.addActionListener(b);
jButton9.addActionListener(b);
jButton10.addActionListener(b);
jButton14.addActionListener(b);
jButton15.addActionListener(b);
jButton19.addActionListener(b);

EqualsListener c=new EqualsListener();
jButton20.addActionListener(c);

SignsListener d=new SignsListener();
jButton17.addActionListener(d);

jPanel1.setLayout(new GridLayout(4,5));
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu3);
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
jMenu2.add(jMenuItem3);
jMenu2.add(jMenuItem4);
jMenu3.add(jMenuItem5);
jMenu3.add(jMenuItem6);
this.setJMenuBar(jMenuBar1);
}
class NumericListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jTextField1.setText(jTextField1.getText()+e.getActionCommand());
}
}
class OperationListener implements ActionListener
{
public void actionPerformed(ActionEvent e1)
{
if(jTextField1.getText().trim()!="")
{
if(e1.getActionCommand()=="1/x")
{
i=new Double(1/Double.valueOf(jTextField1.getText().trim()).doubleValue());
jTextField1.setText(i.toString());
}
else if(e1.getActionCommand()=="sqrt")
{
i=new Double(Math.sqrt(Double.valueOf(jTextField1.getText().trim()).doubleValue()));
jTextField1.setText(i.toString());
}
else if(e1.getActionCommand()=="+")
{
CalcuType=1;
CalcuType1=1;
x=Double.valueOf(jTextField1.getText().trim()).doubleValue();
jTextField1.setText("");
}
else if(e1.getActionCommand()=="-")
{
CalcuType=2;
CalcuType1=2;
x=Double.valueOf(jTextField1.getText().trim()).doubleValue();
jTextField1.setText("");
}
else if(e1.getActionCommand()=="*")
{
CalcuType=3;
CalcuType1=3;
x=Double.valueOf(jTextField1.getText().trim()).doubleValue();
jTextField1.setText("");
}
else if(e1.getActionCommand()=="/")
{
CalcuType=4;
CalcuType1=4;
x=Double.valueOf(jTextField1.getText().trim()).doubleValue();
jTextField1.setText("");
}
else if(e1.getActionCommand()=="%")
{
CalcuType=5;
x=Double.valueOf(jTextField1.getText().trim()).doubleValue();
jTextField1.setText("");
}
}
}
}
class EqualsListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
y=Double.valueOf(jTextField1.getText().trim()).doubleValue();
if(CalcuType==1)
{
i=new Double(x+y);
jTextField1.setText(i.toString());
}
else if(CalcuType==2)
{
i=new Double(x-y);
jTextField1.setText(i.toString());
}
else if(CalcuType==3)
{
i=new Double(x*y);
jTextField1.setText(i.toString());
}
else if(CalcuType==4)
{
i=new Double(x/y);
jTextField1.setText(i.toString());
}
else if(CalcuType==5)
{
if(CalcuType1==1||CalcuType1==3)
{
i=new Double(x*y/100);
jTextField1.setText(i.toString());
}
else if(CalcuType1==2)
{
i=new Double(x-x*y/100);
jTextField1.setText(i.toString());
}
else if(CalcuType1==4)
{
i=new Double(x/y/100);
jTextField1.setText(i.toString());
}
}
}
}
class SignsListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
b=!b;
if(b==false)
{
jTextField1.setText("-"+jTextField1.getText().trim());
}
}
}
public static void main(String[] args)
{
Calculator cal=new Calculator();
cal.setTitle("Java计算器");
cal.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
cal.pack();
cal.setVisible(true);
}
}
nego_orange 2005-12-27
  • 打赏
  • 举报
回复
我以前练习的计算器程序希望对你能有帮助。


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Calculator extends JFrame
{
JTextField jTextField1 = new JTextField("");
JMenuBar jMenuBar1 = new JMenuBar();
JPanel jPanel1 = new JPanel();
JButton jButton1=new JButton("7");
JButton jButton2=new JButton("8");
JButton jButton3=new JButton("9");
JButton jButton4=new JButton("/");
JButton jButton5=new JButton("sqrt");
JButton jButton6=new JButton("4");
JButton jButton7=new JButton("5");
JButton jButton8=new JButton("6");
JButton jButton9=new JButton("*");
JButton jButton10=new JButton("%");
JButton jButton11=new JButton("1");
JButton jButton12=new JButton("2");
JButton jButton13=new JButton("3");
JButton jButton14=new JButton("-");
JButton jButton15=new JButton("1/x");
JButton jButton16=new JButton("0");
JButton jButton17=new JButton("+/-");
JButton jButton18=new JButton(".");
JButton jButton19=new JButton("+");
JButton jButton20=new JButton("=");

JMenu jMenu1 = new JMenu();
JMenu jMenu2 = new JMenu();
JMenu jMenu3 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();
JMenuItem jMenuItem3 = new JMenuItem();
JMenuItem jMenuItem4 = new JMenuItem();
JMenuItem jMenuItem5 = new JMenuItem();
JMenuItem jMenuItem6 = new JMenuItem();
JPanel jPanel2 = new JPanel();
FlowLayout flowLayout1 = new FlowLayout();
JButton jButtonB = new JButton();
JButton jButtonC = new JButton();
int CalcuType,CalcuType1;
double x,y;
String s="";
Double i;
boolean b=true;

public Calculator()
{
try
{
init();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void init()
{
this.getContentPane().setBackground(SystemColor.control);
jMenuBar1.setBackground(Color.lightGray);
jMenuBar1.setAlignmentX((float) 0.5);
jMenuBar1.setAlignmentY((float) 0.0);
jPanel1.setAlignmentY((float) 0.5);
jMenu1.setText("编辑(E)");
jMenu2.setText("查看(V)");
jMenu3.setText("帮助(H)");
jMenuItem1.setText("复制(C) Ctrl+C");
jMenuItem2.setText("粘贴(V) Ctrl+V");
jMenuItem3.setText("●标准型");
jMenuItem4.setText(" 数学型");
jMenuItem5.setText("帮助主题(H)");
jMenuItem6.setText("关于计算器(A)");
jTextField1.setText("");
jPanel2.setLayout(flowLayout1);
jButtonB.setText("BackSpace");
jButtonC.setText(" Clear ");
jButtonB.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jTextField1.setText(jTextField1.getText().trim().substring
(0,jTextField1.getText().trim().length()-1));
}
});
jButtonC.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jTextField1.setText("");
}
});
this.getContentPane().add(jTextField1, BorderLayout.NORTH);
this.getContentPane().add(jPanel2, BorderLayout.CENTER);
jPanel2.add(jButtonB, null);
jPanel2.add(jButtonC, null);
this.getContentPane().add(jPanel1, BorderLayout.SOUTH);
PhoticX 2005-12-26
  • 打赏
  • 举报
回复
同意楼上 用计算器用字符串作
King_Style 2005-12-26
  • 打赏
  • 举报
回复
整数先做运算再转成字符串就可以了
bovy 2005-12-26
  • 打赏
  • 举报
回复
能够说的更加具体一点么?怎么控制?
abstract (关键字) 抽象 ['æbstrækt] access vt.访问,存取 ['ækses]'(n.入口,使用权) algorithm n.算法 ['ælgәriðm] Annotation [java] 代码注释 [ænәu'teiʃәn] anonymous adj.匿名的[ә'nɒnimәs]'(反义:directly adv.直接地,立即[di'rektli, dai'rektli]) apply v.应用,适用 [ә'plai] application n.应用,应用程序 [,æpli'keiʃәn]' (application crash 程序崩溃) arbitrary a.任意的 ['ɑ:bitrәri] argument n.参数;争论,论据 ['ɑ:gjumәnt]'(缩写 args) assert (关键字) 断言 [ә'sә:t] ' (java 1.4 之后成为关键字) associate n.关联(同伴,伙伴) [ә'sәuʃieit] attribute n.属性(品质,特征) [ә'tribju:t] boolean (关键字) 逻辑的, 布尔型 call n.v.调用; 呼叫; [kɒ:l] circumstance n.事件(环境,状况) ['sә:kәmstәns] crash n.崩溃,破碎 [kræʃ] cohesion 内聚,黏聚,结合 [kәu'hi:ʒәn] (a class is designed with a single, well-focoused purpose. 应该不止这点) command n. 命令,指令 [kә'mɑ:nd](指挥, 控制) (command-line 命令行) Comments [java] 文本注释 ['kɒments] compile [java] v.编译 [kәm'pail]' Compilation n.编辑[,kɒmpi'leiʃәn] const (保留字) constant n. 常量, 常数, 恒量 ['kɒnstәnt] continue (关键字) coupling 耦合,联结 ['kʌpliŋ] making sure that classes know about other classes only through their APIs. declare [java] 声明 [di'klєә] default (关键字) 默认值; 缺省值 [di'fɒ:lt] delimiter 定义符; 定界符 Encapsulation[java] 封装 (hiding implementation details) Exception [java] 例外; 异常 [ik'sepʃәn] entry n.登录项, 输入项, 条目['entri] enum (关键字) execute vt.执行 ['eksikju:t] exhibit v.显示, 陈列 [ig'zibit] exist 存在, 发生 [ig'zist] '(SQL关键字 exists) extends (关键字) 继承、扩展 [ik'stend] false (关键字) final (关键字) finally (关键字) fragments 段落; 代码块 ['frægmәnt] FrameWork [java] 结构,框架 ['freimwә:k] Generic [java] 泛型 [dʒi'nerik] goto (保留字) 跳转 heap n.堆 [hi:p] implements (关键字) 实现 ['implim

62,625

社区成员

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

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