import java.util.Scanner
public class 四则运算 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in)
System.out.print("请输入第一个数字:")
int a = sc.nextInt()
System.out.print("请输入运算符号:")
String str = sc.next()
char ch = str.charAt(0)
System.out.print("请输入第二个数字:")
int b = sc.nextInt()
switch(ch)
{
case '+':
System.out.println(a+"+"+ b + "="+(a+b))
break
case '-':
System.out.println(a+"-"+ b+ "="+(a-b))
break
case '*':
System.out.println(a+"*"+ b+ "="+(a*b))
break
case '/':
if(b==0){
System.out.println("被除数为零,运算无意义!")
break
}
else {
System.out.println(a+"/"+ b+ " = "+(a/b))
break
}
default:
System.out.println("运算符是无意义字符!")
break
}
}
}
~~~~~~~~
我稍加改一下,在 public void actionPerformed(ActionEvent e) 中加了try catch 捕获异常,如下:import java.awt.*
import java.applet.*
import java.awt.event.*
import javax.swing.*
public class JDemo extends JFrame implements ActionListener{
JLabel lb
JTextField jt1,jt2,jt3
public JDemo(){
Container c=getContentPane()
c.setLayout(new FlowLayout())
jt1=new JTextField(10)
c.add(jt1)
JLabel lb1=new JLabel("+")
c.add(lb1)
jt2=new JTextField(10)
c.add(jt2)
JLabel lb2=new JLabel("=")
c.add(lb2)
jt3=new JTextField(10)
c.add(jt3)
JButton jb=new JButton("OK")
c.add(jb)
jb.addActionListener(this)
lb=new JLabel()
c.add(lb)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
setVisible(true)
setSize(200,200)
}
public void actionPerformed(ActionEvent e) //加入一个捕获异常try catch 命令
{
try{
if(Integer.parseInt(jt1.getText())+Integer.parseInt(jt2.getText())==Integer.parseInt(jt3.getText()))
{lb.setText("没问题!")
lb.setForeground(Color.blue)
}
else
{lb.setText("对不起!")
lb.setForeground(Color.red)
}
}catch (NumberFormatException ee) {
lb.setText(" 请输入数字")
}
}
public static void main(String args[]){
new JDemo()
}
看看行不行?
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)