77范文网 - 专业文章范例文档资料分享平台

西南大学2017秋面向对象程序设计作业及答案(5)

来源:网络收集 时间:2018-12-06 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

41、Java AWT程序设计:在窗口中画出三个TextField(前两个用于接收用户输入的两个整数,第三个用于显示相加和),一个加号Label,一个等于号Button. 当按下Button时,将相加之和放到第三个TextField中。注意:不允许使用内部类。

本题参考答案: import java.awt.*; import java.awt.event.*; public class TFMath {

public static void main(String[] args) { new TFFrame().launchFrame(); } }

class TFFrame extends Frame { TextField num1, num2, num3; public void launchFrame() { num1 = new TextField(10); num2 = new TextField(10); num3 = new TextField(15); Label lblPlus = new Label(\\\ Button btnEqual = new Button(\\\

btnEqual.addActionListener(new MyMonitor(this)); setLayout(new FlowLayout()); add(num1); add(lblPlus); add(num2); add(btnEqual); add(num3); pack(); setVisible(true);

} }

class MyMonitor implements ActionListener { TFFrame tf = null;

public MyMonitor(TFFrame tf) { this.tf = tf; }

public void actionPerformed(ActionEvent e) { int n1 = Integer.parseInt(tf.num1.getText()); int n2 = Integer.parseInt(tf.num2.getText()); tf.num3.setText(\\\ } }

42、阅读下面的程序,写出输出结果。 public class MyException {

public static void throwException() {

System.out.println(\产生并抛出ArithmeticException类型的异常\ throw new ArithmeticException(); }

public static void catchArrayException() { try {

throwException();

System.out.println(\在try语句块中的多余语句\ } catch(ArrayIndexOutOfBoundsException e) {

System.err.println(\方法catchArrayException捕捉到异常\ } finally {

System.out.println(\方法catchArrayException的finally语句块\ }

System.out.println(\方法catchArrayException运行结束\ }

public static void main(String[] args) { try {

catchArrayException(); } catch(ArithmeticException e) {

System.err.println(\方法main捕捉到异常\ } finally {

System.out.println(\方法main的finally语句块\ }

System.out.println(\异常处理结束\ } }

本题参考答案: 答:输出为

产生并抛出ArithmeticException类型的异常 方法catchArrayException的finally语句块 方法main捕捉到异常 方法main的finally语句块 异常处理结束

43、问:下面语句中的错误都是在Java数据类型转换中的易错点。分析语句的错误原因并改正。 (1) float f1 = 0.1;

(2) long l1 = 12345678, l2 = 8888888888; (3) byte b1 = 1, b2 = 2, b3 = 129; (4) byte b = b1 - b2; (5) int i = 1;

i = i * 0.1; // 有错 (6)

char c1 = 'a', c2 = 125; char c = c1 + c2 - 1; // 有错 (7)

float f1 = 0.1f, f2 = 123; float f3 = f1+f2*0.1; // 有错 本题参考答案: 答:

(1) float f1 = 0.1;

错误原因:0.1缺省为double类型

改正办法:float f1 = (float)0.1; 或改为 float f1=0.1f;

(2) long l1 = 12345678, l2 = 8888888888;

错误原因:8888888888已经超出缺省int型的最大表示范围,必须加字母L。 改正办法:long l1 = 12345678, l2 = 8888888888L;

(3) byte b1 = 1, b2 = 2, b3 = 129; 错误原因:129在自动转换中超出范围

改正办法:byte b1 = 1, b2 = 2, b3 = 127;

(4) byte b = b1 - b2;

错误原因:b1、b2在作运算前首先转换为int型,因此减法结果就是int型,不能直接赋值给byte型的b来保存,需要强制类型转换 改正办法:byte b = (byte)(b1-b2); (5) int i = 1; i = i*0.1;

错误原因:0.1是double型,i在乘法前会自动转换为double型,乘法结果也是double型,不能直接赋值为int型的i来保存,需要强制类型转换 改正办法:i = (int)(i*0.1); (6)

char c1='a', c2=125; char c = c1 + c2 - 1;

错误原因:c1、c2在作运算前首先转换为int型,因此计算结果就是int型,不能直接赋值给char型的c来保存,需要强制类型转换 改正办法:char c = (char)(c1 + c2 - 1); (7)

float f1 = 0.1f, f2 = 123; float f3 = f1+f2*0.1;

错误原因:由于0.1是double型,在运算前首先全部要转换为double型,因此计算结果就是double型,不能直接赋值给float型的f4来保存,需要强制类型转换 改正办法:float f4 = (float)(f1+f2*0.1);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库西南大学2017秋面向对象程序设计作业及答案(5)在线全文阅读。

西南大学2017秋面向对象程序设计作业及答案(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/348105.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: