首页 \ 问答 \ java中怎么抛异常和接收异常

java中怎么抛异常和接收异常

并把异常变成字符,可以随时查看!
更新时间:2022-01-23 21:01

最满意答案

jave 么 ?

不知道c++可不可以榜上你呢?

#include <stdio>

void main()

{

int i;

int j;

for(i=1;i<=9;i++)

{

for(j=1;j<=i;j++)

printf("%d*%d=%d",i,j,i*j);

}

printf("\n");

}

其他回答

我这里有一个实现基本的加减乘除功能:

import javax.swing.*; import javax.swing.border.Border; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.HashMap;

/** * 功能:在JAVA中编写一个简单的计算器。要求实现加、减、乘、除功能。 * @author 飛龍劍 * @date 2009-11-01 */

/** * 我的计算器。MyCalculator 继承于 JFrame,是计算器的界面 */ public class MyCalculator extends JFrame { private Border border = BorderFactory.createEmptyBorder(5, 5, 5, 5); private JTextField textbox = new JTextField("0"); private CalculatorCore core = new CalculatorCore(); private ActionListener listener = new ActionListener() { public void actionPerformed(ActionEvent e) { JButton b = (JButton) e.getSource(); String label = b.getText(); String result = core.process(label); textbox.setText(result); } }; public MyCalculator(String title) throws HeadlessException { super(title); // 调用父类构造方法 setupFrame(); // 调整窗体属性 setupControls(); // 创建控件 } private void setupControls() { setupDisplayPanel(); // 创建文本面板 setupButtonsPanel(); // 创建按钮面板 } // 创建按钮面板并添加按钮 private void setupButtonsPanel() { JPanel panel = new JPanel(); panel.setBorder(border); panel.setLayout(new GridLayout(4, 5, 3, 3)); createButtons(panel, new String[]{ "7", "8", "9", "+", "C", "4", "5", "6", "-", "CE", "1", "2", "3", "*", "空", // 空字符串表示这个位置没有按钮 "0", ".", "=", "/", "空" }); this.add(panel, BorderLayout.CENTER); }

简易的计算器

import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.math.BigDecimal;

import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField;

public class Calcular implements ActionListener { JTextField jtf = new JTextField(10);

boolean flag = false;

boolean emblem = false;

@SuppressWarnings("static-access") public Calcular() { JFrame jf = new JFrame("testcalcular"); jf.setLayout(new BorderLayout()); jtf.setEditable(false); jtf.setHorizontalAlignment(JTextField.RIGHT); jtf.setText("0"); JPanel jp = new JPanel(); jp.setLayout(new GridLayout(5, 4)); String[] lab = { "BACK", "CE", "C", "+", "7", "8", "9", "-", "4", "5", "6", "*", "3", "2", "1", "/", "0", "+/-", ".", "=" }; JButton[] jb = new JButton[lab.length]; for (int i = 0; i < jb.length; i++) { jb[i] = new JButton(lab[i]); if (lab[i].matches("^\\d$")) { jb[i].setBackground(Color.PINK); } else if (lab[i].matches("^[a-zA-Z]+$")) { jb[i].setBackground(Color.GREEN); } else { jb[i].setBackground(Color.LIGHT_GRAY); } jb[i].addActionListener(this); jp.add(jb[i]); } jf.add(jtf, BorderLayout.NORTH); jf.add(jp); jf.setSize(300, 200); jf.setLocation(300, 200); jf.setResizable(false); jf.setVisible(true); jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE); }

public static void main(String[] args) { new Calcular(); }

public void actionPerformed(ActionEvent e) { String comm = e.getActionCommand(); if ("CE".equals(comm)) { jtf.setText("0"); flag = false; emblem = false; } else if ("C".equals(comm)) { jtf.setText("0"); flag = false; emblem = false; } else if ("BACK".equals(comm)) { String com = jtf.getText() + comm; com = com.substring(0, com.length() - 5); if (com.length() == 0) { jtf.setText("0"); flag = false; } else { jtf.setText(com); } } else if ("+-*/".contains(comm)) { if (emblem) { String num = number(jtf.getText()); jtf.setText(num + comm); emblem = false; } else { String number = jtf.getText() + comm; jtf.setText(number); emblem = true; } } else if ("=".equals(comm)) { emblem = false; jtf.setText(number(jtf.getText())); } else if ("+/-".equals(comm)) { String com = jtf.getText(); com = com.substring(0, 1); if ("-".equals(com)) { com = jtf.getText(); com = com.substring(1, com.length()); jtf.setText(com); } else { com = "-" + jtf.getText(); jtf.setText(com); } } else { if (flag) { String com = jtf.getText() + comm; jtf.setText(com); } else { jtf.setText(comm); if ("0".equals(comm)) { flag = false; } else { flag = true; } }

} }

public String number(String s) { BigDecimal a = null; String ss = "^[-]{1}\\d+[\\+\\-\\*\\/]{1}\\d+$"; String sss = "^\\d+[\\+\\-\\*\\/]{1}\\d+$"; if (s.matches(sss)) { if (s.contains("*")) { String[] str = s.split("\\*"); BigDecimal b1 = new BigDecimal(str[0]); BigDecimal b2 = new BigDecimal(str[1]); a = b1.multiply(b2); } if (s.contains("/")) { String[] str = s.split("\\/"); BigDecimal b1 = new BigDecimal(str[0]); BigDecimal b2 = new BigDecimal(str[1]); a = b1.divide(b2, 10, BigDecimal.ROUND_HALF_UP); } if (s.contains("+")) { String[] str = s.split("\\+"); BigDecimal b1 = new BigDecimal(str[0]); BigDecimal b2 = new BigDecimal(str[1]); a = b1.add(b2); } if (s.contains("-")) { String[] str = s.split("\\-"); BigDecimal b1 = new BigDecimal(str[0]); BigDecimal b2 = new BigDecimal(str[1]); a = b1.subtract(b2); } } else if (s.matches(ss)) { s = s.substring(1); if (s.contains("*")) { String[] str = s.split("\\*"); BigDecimal b1 = new BigDecimal("-" + str[0]); BigDecimal b2 = new BigDecimal(str[1]); a = b1.multiply(b2); } if (s.contains("/")) { String[] str = s.split("\\/"); BigDecimal b1 = new BigDecimal("-" + str[0]); BigDecimal b2 = new BigDecimal(str[1]); a = b1.divide(b2, 10, BigDecimal.ROUND_HALF_UP); } if (s.contains("+")) { String[] str = s.split("\\+"); BigDecimal b1 = new BigDecimal("-" + str[0]); BigDecimal b2 = new BigDecimal(str[1]); a = b1.add(b2); } if (s.contains("-")) { String[] str = s.split("\\-"); BigDecimal b1 = new BigDecimal("-" + str[0]); BigDecimal b2 = new BigDecimal(str[1]); a = b1.subtract(b2); } } else { return "ERROR"; } return a.toString(); } }

相关问答

更多
  • import java.awt.*; import java.awt.event.*; public class Cal { public static void main(String[] args) { CalFrame f = new CalFrame(); } } class CalFrame extends Frame { double d1, d2; int op = -1; TextField tf; CalPanelL p1; CalPanelR p2; // Constructor Cal ...
  • jave 么 ? 不知道c++可不可以榜上你呢? #include void main() { int i; int j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf("%d*%d=%d",i,j,i*j); } printf("\n"); }
  • import java.util.regex.*; public class Calculation { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub if (args.length != 3) { System.out.println("MyCal need 3 parameters the formate is:"); System.out.println("MyC ...
  • 给你一个参考,希望不要被百度吞了当晚餐 import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.text.DecimalFormat; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.J ...
  • import java.util.regex.*; public class Calculation { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub if (args.length != 3) { System.out.println("MyCal need 3 parameters the formate is:"); System.out.println("MyC ...
  • 没有界面,程序是这样的,自己看,有详细注释 import java.io.BufferedReader; import java.io.InputStreamReader; public class D { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { //获取输入流 BufferedReader br = new BufferedReader(new In ...
  • 我做课程设计做了一个计算器,不知道是否符合你的要求,你要的话就加1141632078
  • import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator extends JFrame { private Container container; private GridBagLayout layout; private GridBagConstraints constraints; private JTextField displayField;//计算结果显示区 private ...
  • 有一个现成的参考一下吧 import java.awt.event.ActionEvent; public class Application extends JFrame { protected String str = ""; protected boolean isChar = true; protected boolean isEqual = false; protected JTextField textField; public Application() { Listener listerne ...
  • 没有界面,程序是这样的,自己看,有详细注释 import java.io.BufferedReader; import java.io.InputStreamReader; public class D { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { //获取输入流 BufferedReader br = new BufferedReader(new In ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。