太原理工大学 1JSP期末复习题Word格式文档下载.docx
《太原理工大学 1JSP期末复习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《太原理工大学 1JSP期末复习题Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
![太原理工大学 1JSP期末复习题Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-12/11/ef690a5f-e0e5-48c7-9648-5cf8469829e6/ef690a5f-e0e5-48c7-9648-5cf8469829e61.gif)
i=0;
while(i<
10){
i++;
if(i%2==0){
out.println("
TRbgcolor=orange>
else{
TRbgcolor=yellow>
%>
TD>
当前行数:
/TD>
/TR>
}
/Table>
/CENTER>
/BODY>
/HTML>
输出醒目表格,效果图如下:
提示:
奇数行,color=yellow,偶数行,color=orange。
宽度=500像素。
左对齐。
例3.求1!
+2!
+3!
+……+9!
importjava.io.IOException;
classTest{
publicstaticvoidmain(Stringargs[])throwsIOException{
intn,sum,total=0;
System.out.println(“Pleaseinput(0~9):
”);
n=System.in.read();
n-=48;
for(intj=1;
j<
=n;
j++){
sum=1;
for(inti=1;
i<
=j;
i++)
sum*=i;
total+=sum;
}
System.out.println(“各阶乘之和为:
”+total);
}
将程序的执行跳转到其他部分的语句
break:
跳出(中止)循环
break语句用以中断当前执行的循环语句(for、do-while、while)或switch语句
continue:
结束本次循环
continue语句用以结束循环语句(for、do-while、while)的本次循环
return:
方法返回
throw:
抛出异常(Exception)
例4.数组整体赋值
publicstaticvoidmain(Stringargs[]){
inta[]={2,4,6,8};
intb[];
int[]c={1,3,5,7};
b=a;
c=a;
for(intj=0;
a.length;
j++)
System.out.print(a[j]+““);
System.out.println();
b.length;
System.out.print(b[j]+““);
c.length;
System.out.print(c[j]);
例5.数组的排序
publicclassTest{
publicstaticvoidmain(String[]args){
int[]array={32,87,3,589,12,1076,2000,8,622,127};
for(inti=array.length;
--i>
=0;
){
for(intj=0;
i;
if(array[j]>
array[j+1]){
inttemp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
for(inti=0;
array.length;
i++)
System.out.print(array[i]+"
"
例6.用HTML实现下面的操作界面
FORMACTION="
handle.jsp"
METHOD="
POST"
姓名:
INPUTTYPE="
TEXT"
NAME="
USERNAME"
BR>
密码:
PASSWORD"
USERPWD"
性别:
RADIO"
SEX"
VALUE="
男"
男
VALUE="
女"
女<
血型:
BLOOD"
O"
O
A"
A
B"
B
AB"
AB
性格:
CHECKBOX"
Name="
CHATACTER"
热情大方"
热情大方
温柔体贴"
温柔体贴
多情善感"
多情善感<
简介:
TEXTAREAROWS="
8"
COLS="
30"
MEMO"
/TEXTAREA>
城市:
SELECTSIZE="
1"
CITY"
OPTIONVALUE="
北京"
北京市<
/OPTION>
上海"
上海市<
南京"
南京市<
/SELECT>
SUBMIT"
提交"
RESET"
/FORM>
例7.用Application对象实现一个简单的网页计数器
charset=GB2312"
%
Integernumber=(Integer)application.getAttribute("
Count"
if(number==null){
number=newInteger
(1);
application.setAttribute("
number);
else{
number=newInteger(number.intValue()+1);
您是第<
%=(Integer)application.getAttribute("
)%>
个访问本站的客户。
例8.简单邮件发送的例子
TITLE>
在JSP中使用JavaMail发送邮件<
/TITLE>
FORMaction="
sendmail.jsp"
method="
post"
TABLEalign="
center"
TR>
TDwidth="
50%"
收信人:
INPUTname="
to"
size="
25"
发信人:
from"
TDcolspan="
2"
标题:
subject"
45"
正文:
TEXTAREAname="
text"
rows=15cols=50>
align=right>
INPUTtype="
submit"
name="
cb_submit"
value="
发送"
reset"
cb_reset"
取消"
/TABLE>
%@pagepageEncoding="
gb2312"
%@pagecontentType="
%request.setCharacterEncoding("
%@pageimport="
javax.mail.*,javax.mail.internet.*,java.util.*"
%try{Propertiesprops=newProperties();
//输入可用的smtp服务器
//注意:
这里的作为示例用,不是可用的发信服务器,
//可以在本机上搭建自己邮件服务器,windows2000自带smtp服务器
props.put("
mail.smtp.host"
"
SessionsendMailSession=Session.getInstance(props,null);
//创建消息,并定义发信人地址和收信人地址
MessagenewMessage=newMimeMessage(sendMailSession);
newMessage.setFrom(newnternetAddress(request.getParameter("
)));
newMessage.setRecipient(Message.RecipientType.TO,newInternetAddress(request.getParameter("
newMessage.setSubject(request.getParameter("
));
//设定主题
newMessage.setSentDate(newDate());
//设定发送时间
newMessage.setText(request.getParameter("
//设置邮件正文
//发送邮件
Transport.send(newMessage);
//发送成功
out.println("
P>
邮件已发送!
/P>
}
catch(MessagingExceptionm){
out.println(m.toString());
}%>
JAVA代码查错
1.abstract
class
Name
{
private
String
name;
public
abstract
boolean
isStupidName(String
name)
{}
大侠们,这有何错误?
答案:
错。
method必须以分号结尾,且不带花括号。
2.public
Something
void
doSomething
()
s
=
;
int
l
s.length();
有错吗?
局部变量前不能放置任何访问修饰符
(private,public,和protected)。
final可以用来修饰局部变量
(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。
3.abstract
();
这好像没什么错吧?
abstract的methods不能以private修饰。
abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstract
method封锁起来呢?
(同理,abstract
method前不能加final)。
4.public
addOne(final
x)
return
++x;
这个比较明显。
x被修饰成final,意味着x不能在addOne
method中被修改。
5.public
static
main(String[]
args)
Other
o
new
Other();
Something().addOne(o);
o)
o.i++;
i;
和上面的很相似,都是关于final的问题,这有错吗?
正确。
在addOne
method中,参数o被修饰成final。
如果在addOne
method里我们修改了o的reference
(比如:
),那么如同上例这题也是错的。
但这里修改的是o的member
vairable
(成员变量),而o的reference并没有改变。
6.class
doSomething()
System.out.println("
i
+
i);
}
有什么错呢?
看不出来啊。
输出的是"
0"
。
i属於instant
variable
(实例变量,或叫成员变量)。
instant
variable有default
value。
int的default
value是0。
7.class
final
和上面一题只有一个地方不同,就是多了一个final。
这难道就错了吗?
i是个final的instant
final的instant
variable没有default
value,必须在constructor
(构造器)结束之前被赋予一个明确的值。
可以修改为"
0;
8.public
Something();
s.doSomething()
returns
doSomething());
Do
something
..."
看上去很完美。
看上去在main里call
doSomething没有什么问题,毕竟两个methods都在同一个class里。
但仔细看,main是static的。
method不能直接call
non-static
methods。
可改成"
s.doSomething());
同理,static
method不能访问non-static
variable。
9.此处,Something类的文件名叫OtherThing.java
something_to_do)
{
这个好像很明显。
从来没有人说过Java的Class名字必须和其文件名相同。
但public
class的名字必须和文件名相同。
10.
interface
A{
x
B{
=1;
C
extends
B
implements
A
pX(){
System.out.println(x);
C().pX();
答案:
错误。
在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配(就象在同时import
java.util和java.sql两个包时直接声明Date一样)。
对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为
final.所以可以通过A.x来明确。
11.interface
Playable
play();
Bounceable
Rollable
Playable,
Ball
ball
Ball("
PingPang"
getName()
Ball(String
this.name
play()
Football"
System.out.println(ball.getName());
这个错误不容易发现。
Bounceable"
没有问题。
interface可继承多个interfaces,所以这里没错。
问题出在interface
Rollable里的"
任何在interface里声明的interface
(接口变量,也可称成员变量),默认为public
final。
也就是说"
实际上是"
在Ball类的Play()方法中,"
改变了ball的reference,而这里的ball来自Rollable
interface,Rollable
interface里的ball是public
final的,final的object是不能被改变reference的。
因此编译器将在"
这里显示有错。
内部类的实现方式示例
packagetest;
publicclassOuterClass
privateclassInterClass
{
publicInterClass()
System.out.println("
InterClassCreate"
publicOuterClass()
InterClassic=newInterClass();
OuterClassCreate"
publicstaticvoidmain(String[]args)
OuterClassoc=newOuterClass();
输出结果:
C:
\>
javatest/OuterClass
InterClassCreate
OuterClassCreate
再一个例题:
publicclassOuterClass{
privatedoubled1=1.0;
//insertcodehere
Youneedtoinsertaninnerclassdecl