《面向对象程序设计》实验报告十一Word下载.docx
《《面向对象程序设计》实验报告十一Word下载.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》实验报告十一Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
实习机号:
具
体
实
验
内
容
运行成功得程序为:
importjava、awt、event、ActionEvent;
importjava、awt、event、ActionListener;
importjava、awt、*;
importjavax、swing、*;
publicclassDrawOvalextendsJFrameimplementsActionListener{
Ovalcanvascanvas;
JTextFieldin_R,in_X,in_Y;
JButtonbtn;
publicstaticvoidmain(String[]args){
//TODOAutogeneratedmethodstub
DrawOvalDrawOval=newDrawOval;
}
publicDrawOval{
super("
画布上绘制圆"
);
setSize(600,300);
setVisible(true);
canvas=newOvalcanvas;
in_R=newJTextField(6);
in_X=newJTextField(6);
in_Y=newJTextField(6);
setLayout(newFlowLayout);
add(newJLabel("
输入圆得位置坐标:
"
));
add(in_X);
add(in_Y);
输入圆得半径:
add(in_R);
btn=newJButton("
确定"
btn、addActionListener(this);
add(btn);
add(canvas);
validate;
setDefaultCloseOperation(EXIT_ON_CLOSE);
classOvalcanvasextendsCanvas{
intx,y,r;
voidOvalcanvas{
setSize(200,200);
setBackground(Color、cyan);
}
publicvoidsetOval(intx,inty,intr){
this、x=x;
this、y=y;
this、r=r;
publicvoidpaint(Graphicsg){
g、drawOval(x,y,2*r,2*r);
Override
publicvoidactionPerformed(ActionEvente){
try{
x=Integer、parseInt(in_X、getText);
y=Integer、parseInt(in_Y、getText);
r=Integer、parseInt(in_R、getText);
canvas、setOval(x,y,r);
canvas、repaint;
catch(NumberFormatExceptionee){
x=0;
y=0;
r=0;
}
结果截图:
下面为具体实验过程:
(1)运行,出现错误,主要就是“cannotberesolvedtoatype”得错误。
WindowEventcannotberesolvedtoatype
Graphicscannotberesolvedtoatype
Constantcannotberesolvedtoavariable
(2)换了一个程序,运行,出现错误:
MultiplemarkersatthislineSyntaxerrorontoken"
("
deletethistokenSyntaxerrorontoken"
)"
deletethistoken
Multiplemarkersatthisline
Syntaxerrorontoken(s),misplacedconstruct(s)
Syntaxerrorontoken"
void"
expected
Syntaxerror,insert"
interfaceIdentifier"
toplete
InterfaceHeader
(3)主窗体界面应该调研setOval(int[]x,int[]y,intN)变成画布类逻辑层。
(4)按照云课堂PPT得程序,输入,发现有如下错误:
①Ovalcanvascannotberesolvedtoatype
②Syntaxerrorontoken"
InvalidCharacter"
;
expected
③JLablecannotberesolvedtoatype
④Syntaxerrorontoken"
⑤Multiplemarkersatthisline
Ovalcanvascannotberesolvedto
atype
⑥Exceptioninthread"
main"
java、lang、Error:
Unresolvedpilationproblem:
atDrawOval、main(DrawOval、java:
9)
(5)第35行classOvalCanvasextendsCanvas应该改为“classOvalcanvasextendsCanvas”,没有注意大小写。
(6)第14行“super("
”这里得“;
”有问题,忘了使用英文符号。
(7)将以下程序:
x=Integer、parseInt(jl1、getText);
y=Integer、parseInt(jl2、getText);
r=Integer、parseInt(jl3、getText);
改为:
x=Integer、parseInt(in_X、getText);
(8)经过观察,发现我之所以会出现“JLablecannotberesolvedtoatype”得错误,就是因为我把“JLabel”写出了”JLable”、
(9)经改善以上一系列程序错误以后,我运行程序,程序能运行成功,但就是当我输入圆得半径及位置坐标之后,点击“确定”却无法画出一个与之相对应得圆。
明明程序就是与老师PPT里得程序就是一样得,但就就是画不出圆来。
(10)在以上问题得基础上,首先,我将第8行得代码“JLabeljl1,jl2;
”删除。
(11)其次,我将第22及23行得代码jl1=newJLabel("
this、add(jl1);
add(newJLabel("
(12)最后,我将第25及26得代码jl2=newJLabel("
this、add(jl2);
(13)最后得最后,经过一系列对该程序得摸索及改正,运行成功,结果截图为:
习
小
结
1、实验一主要就是卡在“cannotberesolvedtoatype”这里,比如说:
Ellipse2Dcannotberesolvedtoatype(椭圆不能被解析为类型)等“cannotberesolvedtoatype”得类似错误。
这部分错误主要就是因为没有注意英文字母得大小写以及中英式字符得使用而导致得,比如说将“JLabel”写成了”JLable”则会出现“JLablecannotberesolvedtoatype”得错误。
在以后得实验中还就是要多注意字母得大小写这类小问题,因为代码总就是英文与中文互用,很容易搞混。
2、实验一还卡在以下错误:
①OvalCanvascannotberesolvedtoatype(主要就是因为“Ovalcanvas”写成了“OvalCanvas”,字母大小写得问题。
expected。
(符号“;
”没有用英文字符“;
”得缘故)。
3、对于实验一,主要就是要掌握“主窗体界面应该调研setOval(int[]x,int[]y,intN)变成画布类逻辑层”得知识点。
难写得程序就是以下部分:
intx,y,r;
4、其实这个实验我就是在参考老师云课堂PPT才写出来得。
在做该实验得过程中,犯了很多不应该犯得低级错误,特别就是英文字母得大小写及中英式字符得运用这些低级错误,在以后得实验中,我要更加注意这方面得问题。