java异常实验_Java异常处理实验

展开全部

字符抛出异常可以理解,真心不明白 -80 大于100这样的为啥要用try catch ,不过还是给你写32313133353236313431303231363533e4b893e5b19e31333332623337了。package zhidao;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.BorderFactory;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

import javax.swing.JTextArea;

import javax.swing.JButton;

import javax.swing.JScrollPane;

import javax.swing.border.BevelBorder;

import javax.swing.JPanel;

public class StudentScore extends JFrame implements ActionListener{

private JTextField stuId;

private JTextField stuScore;

private JTextArea allStudent;

private JButton button;

private final JPanel panel = new JPanel();

public StudentScore() {

setBounds(200, 100, 244, 630);

getContentPane().setLayout(null);

panel.setBounds(0, 0, 228, 592);

getContentPane().add(panel);

panel.setLayout(null);

JLabel lblNewLabel = new JLabel("\u8F93\u5165\u5B66\u751F\u6210\u7EE9");

lblNewLabel.setBounds(20, 33, 85, 15);

panel.add(lblNewLabel);

JLabel label = new JLabel("\u8F93\u5165\u5B66\u751F\u7F16\u53F7");

label.setBounds(20, 8, 85, 15);

panel.add(label);

stuId = new JTextField();

stuId.setBounds(113, 5, 105, 21);

panel.add(stuId);

stuId.setColumns(10);

stuScore = new JTextField();

stuScore.setBounds(113, 33, 105, 21);

panel.add(stuScore);

stuScore.setColumns(10);

button = new JButton("\u5F55\u5165");

button.setBounds(84, 64, 80, 23);

panel.add(button);

allStudent = new JTextArea();

JScrollPane scrollPane = new JScrollPane(allStudent);

scrollPane.setBounds(20, 97, 198, 485);

panel.add(scrollPane);

button.addActionListener(this);

}

@Override

public void actionPerformed(ActionEvent arg0) {

//监听,try catch在这里

String id = stuId.getText();

String score = stuScore.getText();

try{

Double sco = Double.valueOf(score);

if(sco == -1){

allStudent.append("录入结束");

button.setEnabled(false);

return;

}

if(sco<0 || sco>100){

throw new Exception();

}

allStudent.append("编号:"+id+",成绩:"+score);

allStudent.append("\n");

}catch(Exception e){

allStudent.append("编号为"+id+"的学生成绩输入异常");

allStudent.append("\n");

}

}

public static void main(String[] args) {

new StudentScore().setVisible(true);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,作为AI语言模型,我无法完成实验报告的撰任务。不过我可以提供一些关于Java异常处理的信息,希望能对你有所帮助。 Java异常处理Java编程语言中的重要概念之一,可以帮助开发人员编更加健壮、可靠的程序。当程序发生异常情况时,Java虚拟机会抛出异常,如果不进行处理,程序将会中断运行。因此,了解异常处理的相关知识是非常必要的。 Java异常分为Checked Exception和Unchecked Exception两种类型。Checked Exception必须在代码中进行处理或者抛出,否则编译器会报错。而Unchecked Exception则不需要显式进行处理,可以在代码中选择处理或者让程序崩溃。 在Java中,异常处理主要通过try-catch-finally语句块来实现。try块中包含可能引发异常的代码,catch块中包含异常处理代码,finally块中包含一定会执行的代码,无论try块中是否发生异常。 以下是一个简单的Java异常处理示例代码: ```java public class ExceptionTest { public static void main(String[] args) { try { int[] array = new int[5]; array[10] = 3; } catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组越界异常"); } finally { System.out.println("finally块一定会执行"); } } } ``` 在上面的代码中,try块中修改了一个长度为5的数组的第10个元素,会引发ArrayIndexOutOfBoundsException异常。在catch块中对这个异常进行了处理,输出了一条错误信息。在finally块中输出了一条一定会执行的信息。 希望这些信息对你有所帮助。如果你还有其他问题或需要更深入的了解,可以随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值