Java Applet 浮点数相加与绘图实战:小程序初始化与图形展示全解析
一、原题完整代码呈现
以下是计算机二级Java考试中关于JApplet小程序、初始化方法及绘图功能的典型题型,主要考察类继承关系、小程序初始化方法,包含2处需要填写的空白(标记为//*********Found**********
):
import java.awt.Graphics;
import javax.swing.*;
//*********Found**********
public class Java_3 extends ____________________ {
double sum; //存和的变量
//*********Found**********
public void __________________(){
String firstNumber, //输入第1个字符串格式的数
secondNumber; //输入第2个字符串格式的数
double number1, //加数
number2; //被加数
//读入第1个输入的数
firstNumber =
JOptionPane.showInputDialog(
"Enter first floating-point value" );
//读入第2个输入的数
secondNumber =
JOptionPane.showInputDialog(
"Enter second floating-point value" );
//将字符串数据转换成双字长类型
number1 = Double.parseDouble( firstNumber );
number2 = Double.parseDouble( secondNumber );
//数据相加
sum = number1 + number2;
}
public void paint( Graphics g ) {
//用g.drawString给结果
g.drawRect( 15, 10, 270, 20 );
g.drawString( "数相加之和为:" + sum, 25, 25 );
}
}
二、空白处逐一解析与解答
1. 第一处空白:Java_3类继承的父类
答案:JApplet
//*********Found**********
public class Java_3 extends JApplet {
解析:
程序包含paint(Graphics g)
方法用于绘图,且使用JOptionPane
进行输入交互,符合JApplet小程序的特性。JApplet是Swing提供的小程序基类,支持初始化方法(init
)和绘图方法(paint
),是实现此类图形交互小程序的标准父类。因此,Java_3
需继承JApplet
以获得小程序的核心功能,填写JApplet
。
2. 第二处空白:小程序的初始化方法
答案:init
//*********Found**********
public void init(){
解析: init
是JApplet的生命周期方法,在小程序加载时由系统自动调用,用于执行初始化操作(如获取用户输入、数据计算等)。本题中该方法负责读取两个浮点数、转换类型并计算和,属于典型的初始化逻辑,因此填写init
。
三、完整正确代码
四、程序功能与运行说明
程序功能
该程序是一个基于JApplet的小程序,实现浮点数的输入、相加及结果可视化展示,核心功能包括:
- 小程序加载时,通过对话框获取用户输入的两个浮点数
- 将输入的字符串转换为
double
类型,计算两数之和 - 通过绘图方法(
paint
)在小程序界面绘制矩形边框,并在其中显示计算结果
运行说明
运行环境:需通过
appletviewer
工具或支持Applet的容器运行(需配合HTML文件),HTML示例:<applet code="Java_3.class" width="300" height="60"></applet>
交互流程:
- 小程序加载后,自动调用
init
方法,弹出第一个输入框“Enter first floating-point value”,用户输入第一个浮点数(如3.5
) - 接着弹出第二个输入框“Enter second floating-point value”,用户输入第二个浮点数(如
2.5
) - 程序将输入转换为
double
类型,计算和(3.5 + 2.5 = 6.0
),存储在sum
变量中
- 小程序加载后,自动调用
绘图展示:
paint
方法自动调用,绘制一个矩形(左上角坐标(15,10)
,宽270,高20)- 在矩形内绘制文本“数相加之和为:6.0”(坐标
(25,25)
)
五、核心知识点总结
JApplet小程序基础
- 类继承:自定义小程序必须继承
JApplet
,以获得小程序的生命周期管理和图形绘制能力 - 与应用程序的区别:无需
main
方法,由容器(如appletviewer
)管理生命周期;运行依赖支持Java的环境 - 核心方法:
init
(初始化)、paint
(绘图)是小程序的核心方法,分别负责数据准备和界面展示
- 类继承:自定义小程序必须继承
小程序生命周期方法
init()
:小程序加载时执行一次,用于初始化数据、获取输入等(本例中完成浮点数的输入与计算)paint(Graphics g)
:负责界面绘制,参数Graphics
提供绘图工具(如drawRect
画矩形、drawString
画文本),在小程序显示或刷新时自动调用
数据输入与类型转换
- 输入方式:
JOptionPane.showInputDialog
用于获取用户输入,返回值为String
类型(即使输入数字也为字符串) - 类型转换:
Double.parseDouble(String s)
将数字字符串转换为double
类型,确保可进行算术运算(如加法)
- 输入方式:
图形绘制基础
Graphics
类:提供基本绘图方法,如drawRect(int x, int y, int width, int height)
绘制矩形(x,y
为左上角坐标)、drawString(String str, int x, int y)
绘制文本(x,y
为文本基线坐标)- 绘制时机:
paint
方法会在小程序首次显示、窗口大小改变或被遮挡后重新显示时自动调用,确保图形始终可见
六、常见错误与应试技巧
常见错误分析
- 第一处空白父类错误:写成
JFrame
(独立窗口应用,非小程序)或JPanel
(面板组件,无法单独作为小程序运行) - 第二处空白初始化方法错误:写成
main
(小程序无需main
方法)或start
(start
用于启动小程序,非初始化输入) - 类型转换错误:输入非数字字符串时,
Double.parseDouble
会抛出NumberFormatException
(本例未处理,实际开发需添加异常捕获)
- 第一处空白父类错误:写成
应试技巧
- 类继承:“小程序要绘图,继承JApplet是基础,生命周期方法全,init初始化,paint绘图形”
- 初始化方法:“init方法很关键,加载之时只执行一遍,输入数据和计算,放在这里最方便”
- 绘图方法:“paint方法带参数,Graphics g来绘图,画矩形用drawRect,画文本用drawString,坐标位置要记牢”
- 运行提示:“Applet运行要HTML,appletviewer来加载,code指定类文件,宽高参数不能少”
通过本题,我们掌握了JApplet小程序的结构、初始化方法与绘图方法的使用、数据输入与类型转换的基本逻辑。这类题型是“小程序交互+图形展示”模式的典型体现,对理解Java早期Web端小程序开发(虽已淘汰,但核心思想仍有参考价值)具有重要意义。