「java计算程序」java计算程序耗时
今天给各位分享java计算程序的知识,其中也会对java计算程序耗时进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java如何计算程序运行时间
第一种是以毫秒为单位计算的。
[java] view plain copy
//伪代码
long startTime=System.currentTimeMillis(); //获取开始时间
doSomeThing(); //测试的代码段
long endTime=System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间: "+(end-start)+"ms");
第二种是以纳秒为单位计算的。
[java] view plain copy
//伪代码
long startTime=System.nanoTime(); //获取开始时间
doSomeThing(); //测试的代码段
long endTime=System.nanoTime(); //获取结束时间
System.out.println("程序运行时间: "+(end-start)+"ns");
包含所需的包: import java.lang.System;
用java编写简易计算器程序
//布局没有调整,需要你自己去调整
代码如下:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class JieMian extends JFrame implements ActionListener{
JTextField c1;
JTextField c2;
JLabel c;
JLabel equal=new JLabel("=");
JLabel result;
JLabel choose=new JLabel("请选择");
JButton add=new JButton("+");
JButton sub=new JButton("-");
JButton mul=new JButton("×");
JButton div=new JButton("÷");
JButton cal=new JButton("计算");
JButton clear=new JButton("清除");
public JieMian(){
setLayout(new FlowLayout());
c1=new JTextField(5);
c2=new JTextField(5);
c=new JLabel("+");
result=new JLabel("");
add(c1);
add(c);
add(c2);
add(equal);
add(result);
add(choose);
add(add);
add(sub);
add(mul);
add(div);
add(cal);
add(clear);
add.addActionListener(this);
sub.addActionListener(this);
mul.addActionListener(this);
div.addActionListener(this);
cal.addActionListener(this);
clear.addActionListener(this);
setVisible(true);
pack();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==add){
c.setText("+");
}else if(e.getSource()==sub){
c.setText("-");
}else if(e.getSource()==mul){
c.setText("×");
}else if(e.getSource()==div){
c.setText("÷");
}else if(e.getSource()==cal){
double cc1,cc2;
try{
cc1=Double.parseDouble(c1.getText());
}catch(Exception ex){
cc1=0;
}try{
cc2=Double.parseDouble(c2.getText());
}catch(Exception ex){
cc2=0;
}
if(c.getText()=="+"){
result.setText(String.valueOf(cc1+cc2));
}else if(c.getText()=="-"){
result.setText(String.valueOf(cc1-cc2));
}else if(c.getText()=="×"){
result.setText(String.valueOf(cc1*cc2));
}else if(c.getText()=="÷"){
if(cc2!=0){
result.setText(String.valueOf(cc1/cc2));
}else{
result.setText("NAN");
}
}
}else if(e.getSource()==clear){
c1.setText("");
c2.setText("");
result.setText("");
}
}
public static void main(String args[]){
JieMian jiemian=new JieMian();
}
}
如何用JAVA语言编写计算器小程序?
具体代码如下:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Calculator extends JFrame implements ActionListener {
private JFrame jf;
private JButton[] allButtons;
private JButton clearButton;
private JTextField jtf;
public Calculator() {
//对图形组件实例化
jf=new JFrame("任静的计算器1.0:JAVA版");
jf.addWindowListener(new WindowAdapter(){
public void windowClosing(){
System.exit(0);
}
});
allButtons=new JButton[16];
clearButton=new JButton("清除");
jtf=new JTextField(25);
jtf.setEditable(false);
String str="123+456-789*0.=/";
for(int i=0;iallButtons.length;i++){
allButtons[i]=new JButton(str.substring(i,i+1));
}
}
public void init(){
//完成布局
jf.setLayout(new BorderLayout());
JPanel northPanel=new JPanel();
JPanel centerPanel=new JPanel();
JPanel southPanel=new JPanel();
northPanel.setLayout(new FlowLayout());
centerPanel.setLayout(new GridLayout(4,4));
southPanel.setLayout(new FlowLayout());
northPanel.add(jtf);
for(int i=0;i16;i++){
centerPanel.add(allButtons[i]);
}
southPanel.add(clearButton);
jf.add(northPanel,BorderLayout.NORTH);
jf.add(centerPanel,BorderLayout.CENTER);
jf.add(southPanel,BorderLayout.SOUTH);
addEventHandler();
}
//添加事件监听
public void addEventHandler(){
jtf.addActionListener(this);
for(int i=0;iallButtons.length;i++){
allButtons[i].addActionListener(this);
}
clearButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Calculator.this.jtf.setText("");
}
});
}
//事件处理
public void actionPerformed(ActionEvent e) {
//在这里完成事件处理 使计算器可以运行
String action=e.getActionCommand();
if(action=="+"||action=="-"||action=="*"||action=="/"){
}
}
public void setFontAndColor(){
Font f=new Font("宋体",Font.BOLD,24);
jtf.setFont(f);
jtf.setBackground(new Color(0x8f,0xa0,0xfb));
for(int i=0;i16;i++){
allButtons[i].setFont(f);
allButtons[i].setForeground(Color.RED);
}
}
public void showMe(){
init();
setFontAndColor();
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
new Calculator().showMe();
}
}
用Java编写一个简单的计算器程序
import java.awt.*;
import java.awt.event.*;
public class CalcAppDemo extends Frame{
private TextField t_result;
private Panel p_main; //主面板
private Panel p_num; //数字面板
private Panel p_oper; //操作符面板
private Panel p_show; //显示面板
private Button b_num[]; //数字按钮
private Button b_oper[]; //操作符面板
public CalcAppDemo(String title){
setTitle(title);
t_result = new TextField("0.0", 21);
p_main = new Panel();
p_num = new Panel();
p_oper = new Panel();
p_show = new Panel();
p_main.setLayout(new BorderLayout());
p_num.setLayout(new GridLayout(4, 3, 1, 1));
p_oper.setLayout(new GridLayout(4, 2, 1, 1));
b_num = new Button[12];
for(int i=0; i9; i++)
{
b_num[i] = new Button(new Integer(i+1).toString());
}
b_num[9] = new Button("0");
b_num[10] = new Button("cls");
b_num[11] = new Button(".");
for(int i=0; i12; i++)
{
p_num.add(b_num[i]);
}
b_oper = new Button[8];
b_oper[0] = new Button("+");
b_oper[1] = new Button("-");
b_oper[2] = new Button("*");
b_oper[3] = new Button("/");
b_oper[4] = new Button("pow");
b_oper[5] = new Button("sqrt");
b_oper[6] = new Button("+/-");
b_oper[7] = new Button("=");
for(int i=0; i8; i++) //
{
p_oper.add(b_oper[i]);
}
t_result.setEditable(false);
p_show.add(t_result, BorderLayout.NORTH);
p_main.add(p_show, BorderLayout.NORTH);
p_main.add(p_num, BorderLayout.WEST);
p_main.add(p_oper, BorderLayout.EAST);
this.add(p_main, BorderLayout.CENTER);
setSize(400, 400);
setResizable(false);
pack();
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
ButtonListener b1 = new ButtonListener();
for(int i=0; i12; i++)
{
b_num[i].addActionListener(b1);
}
for(int i=0; i8; i++)
{
b_oper[i].addActionListener(b1);
}
}
class ButtonListener implements ActionListener
{
private String lastOp; //存储上一此操作符
private String strVal; //存储数字对应的字符串
private double total; //总数
private double number; //存储新输入的数
private boolean firsttime; //判断是否第一次按下的是操作符按钮
private boolean operatorPressed;//判断是否已经按过操作符按钮
ButtonListener()
{
firsttime = true;
strVal = "";
}
//事件处理器
public void actionPerformed(ActionEvent e)
{
String s = ((Button)e.getSource()).getLabel().trim();
if(Character.isDigit(s.charAt(0)))
{//判断是操作数还是操作符
handleNumber(s);
}
else
{
calculate(s);
}
}
//判断是一元操作符还是二元操作符,并根据操作符类型做计算
void calculate(String op)
{
operatorPressed = true;
if(firsttime! isUnary(op))
{
total = getNumberOnDisplay();
firsttime = false;
}
if(isUnary(op))
{
handleUnaryOp(op);
}
else if(lastOp != null)
{
handleBinaryOp(lastOp);
}
if(! isUnary(op))
{
lastOp = op;
}
}
//判断是否一元操作符
boolean isUnary(String s)
{
return s.equals("=")
||s.equals("cls")||s.equals("sqrt")
||s.equals("+/-")||s.equals(".");
}
//处理一元操作符
void handleUnaryOp(String op)
{
if(op.equals("+/-"))
{//
number = negate(getNumberOnDisplay() + "");
t_result.setText("");
t_result.setText(number + "");
return;
}else if(op.equals("."))
{
handleDecPoint();
return;
}else if(op.equals("sqrt"))
{
number = Math.sqrt(getNumberOnDisplay());
t_result.setText("");
t_result.setText(number + "");
return;
}else if(op.equals("="))
{//
if(lastOp!= null !isUnary(lastOp))
{
handleBinaryOp(lastOp);
}
lastOp = null;
firsttime = true;
return;
}else
{
clear();
}
}
//处理二元运算符
void handleBinaryOp(String op)
{
if(op.equals("+"))
{
total +=number;
}else if(op.equals("-"))
{
total -=number;
}else if(op.equals("*"))
{
total *=number;
}else if(op.equals("/"))
{
try
{
total /=number;
}catch(ArithmeticException ae){}
}else if(op.equals("pow"))
total = Math.pow(total, number);
//t_result.setText("");
lastOp = null;
// strVal = "";
number = 0;
t_result.setText(total + "");
}
//该方法用于处理数字按钮
void handleNumber(String s)
{
if(!operatorPressed)
{
strVal += s;
}else
{
operatorPressed = false;
strVal = s;
}
//
number = new Double(strVal).doubleValue();
t_result.setText("");
t_result.setText(strVal);
}
//该方法用于按下"."按钮
void handleDecPoint()
{
operatorPressed = false;
//
if(strVal.indexOf(".")0)
{
strVal += ".";
}
t_result.setText("");
t_result.setText(strVal);
}
//该方法用于将一个数求反
double negate(String s)
{
operatorPressed = false;
//如果是一个整数,去掉小数点后面的0
if(number == (int)number)
{
s = s.substring(0,s.indexOf("."));
}
//如果无"-"增加在该数的前面
if(s.indexOf("-")0)
{
strVal = "-" + s;
}
else
{
strVal = s.substring(1);
}
return new Double(strVal).doubleValue();
}
//将显示框中的值转换成Double
double getNumberOnDisplay()
{
return new Double(t_result.getText()).doubleValue();
}
//清除屏幕并设置所有的标识
void clear()
{
firsttime = true;
lastOp = null;
strVal = "";
total = 0;
number = 0;
t_result.setText("0");
}
}
public static void main(String[] args) {
CalcAppDemo c = new CalcAppDemo("简单的计算器程序");
c.setVisible(true);
}
}
java简单计算程序 求助
package calc;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class Frame extends JFrame{
private JLabel label1 = new JLabel("请输入第一个整数");
private JTextField textField1 = new JTextField("", 10);
private JLabel label2 = new JLabel("请输入第二个整数");
private JTextField textField2 = new JTextField("", 10);
private JRadioButton radioButton1 = new JRadioButton("加法");
private JRadioButton radioButton2 = new JRadioButton("减法");
private JRadioButton radioButton3 = new JRadioButton("乘法");
private JRadioButton radioButton4 = new JRadioButton("除法");
ButtonGroup group = new ButtonGroup();
private JLabel label3= new JLabel("此结果为");
private JTextField textField3 = new JTextField("",10);
private JButton button = new JButton("计算");
public Frame() {
this.setTitle("简单计算器");
this.setBounds(100, 100, 440, 300);
this.setResizable(false);
Container c = this.getContentPane();
//网格布局(5行1列)
JPanel p0 = new JPanel(new GridLayout(5, 1));
//每行中使用流式布局
JPanel p1 = new JPanel(new FlowLayout());
JPanel p2 = new JPanel(new FlowLayout());
JPanel p3 = new JPanel(new FlowLayout());
JPanel p4 = new JPanel(new FlowLayout());
JPanel p5 = new JPanel(new FlowLayout());
//将每行的布局面板放置在网格布局的面板p0上
p0.add(p1);p0.add(p2);p0.add(p3);p0.add(p4);p0.add(p5);
//将单选按钮组件编组
group.add(radioButton1);group.add(radioButton2);group.add(radioButton3);group.add(radioButton4);
p1.add(label1);
p1.add(textField1);
p2.add(label2);
p2.add(textField2);
p3.add(radioButton1);
//设置默认选中
radioButton1.setSelected(true);
p3.add(radioButton2);
p3.add(radioButton3);
p3.add(radioButton4);
p4.add(label3);
p4.add(textField3);
p5.add(button);
c.add(p0);
//文本框动作监听事件//设置只能输入数字
textField1.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {
String str1 = textField1.getText().trim();
if (!str1.matches("[1-9][0-9]*")) {
JOptionPane.showMessageDialog(null, "请输入一个整数!");
textField1.setText("");
textField1.requestFocus();
}
}
@Override
public void focusGained(FocusEvent e) { }
});
textField2.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {
String str2 = textField2.getText().trim();
if (!str2.matches("[1-9][0-9]*")) {
JOptionPane.showMessageDialog(null, "请输入一个整数!");
textField2.setText("");
textField2.requestFocus();
}
}
@Override
public void focusGained(FocusEvent e) { }
});
//按钮动作监听事件
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (radioButton1.isSelected()) {//选择加法
textField3.setText(Integer.toString(Integer.parseInt(textField1.getText()) + Integer.parseInt(textField2.getText())));
}else if (radioButton2.isSelected()) {//选择减法
textField3.setText(Integer.toString(Integer.parseInt(textField1.getText()) - Integer.parseInt(textField2.getText())));
}else if (radioButton3.isSelected()) {//选择乘法
textField3.setText(Integer.toString(Integer.parseInt(textField1.getText()) * Integer.parseInt(textField2.getText())));
}else {//选择除法
textField3.setText(Integer.toString(Integer.parseInt(textField1.getText()) / Integer.parseInt(textField2.getText())));
}
}
});
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new Frame();
}
}
java计算程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java计算程序耗时、java计算程序的信息别忘了在本站进行查找喔。
发布于:2023-01-27,除非注明,否则均为
原创文章,转载请注明出处。