题目
阅读以下技术说明及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。
【说明】
用创建Thread类的子类的方法实现多线程,判断一个数是否是素数。如果是,打印“是素数”,如果不是,则打印“不是素数”;如果没有参数输入,显示“请输入一个命令行参数”。
【Java程序】
import java.io.* ;
public class TestThread{ //Java Application主类
public static void main(Sting args[ ]){
if (args length<l) { //要求用户输入一个命令行,否则程序不能进行下去
system.out.println("请输入一个命令行参数");
system.exit(0) ;
} //创建用户Thread子类的对象实例,使其处于NewBorn状态
primeThread getPrimes = new primeThread (Integer.parseInt(args[0]));
getPrimes.start () ; //启动用户线程,使其处于Runnable状态
while(getPrimes.isAlive()&& getPrimes.ReadyToGoOn() ) {
system.out.println("Counting the prime number..\n"); //说明主线程在运行
try {
Thread. sleep (500); //使主线程挂起指定毫秒数,以便用户线程取得控制权,
//sleep是static的类方法
}
Catch(InterruptedException e) { //sleep方法可能引起的异常,必须加以处理
return ;
}
} //while循环结束
System.out.println ("按任意键继续……") ; //保留屏幕,以便观察
try {
(1);
}
Catch(IOException e) { }
} //main方法结束
}
class primeThread extends Thread {
//创建用户自己的Thread子类run()中实现程序子线程操作
boolean m_bContinue=true; //标志本线程是继续
int m_nCircleNum ; /循环的上限
prime Thread(int Num){ //构造函数
m_nCircleNum =Nam;
}
boolean ReadyToGoOn () { //判断本线程是否继续执行
return ((2) );
}
public void run () {
//继承并重载父类Thread的run ()方法,在该线程被启动时自动执行
int number =3;
boolean flag=true;
while (true) { //无限循环
for((3); i++) //检查number是否为素数
if(number %i==0)
(4);
system, out. println (flag);
if (flag) //打印该数是否为素数的信息
system,out.print in (number+ "是素数") ;
else
sys rem.out.print In (number+ "是素数") ;
number++ ; &nb
第1题
阅读以下技术说明及Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。
[说明]
在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为Observer(观察者)模式。以下代码采用Java语言实现,能够正确编译通过。
[Java代码]
第2题
阅读以下关于某订单管理系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。
[说明]
某订单管理系统的部分UML类图如图5-16所示。
在图5-16中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表5-23所示。
可以使用类java.util.ArrayList<E>来实现对象的聚集关系,如图5-16中OrderList与Order之间的聚集关系。
for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合及用来接收集合中每个元素的变量,其语法如下:
for(用来接收集合中元素的变量:需要遍历的对象集合)
如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable<T>。
Java程序7-1和Java程序7-2分别给出了类OrderList和方法statistic的Java代码。
第3题
请阅读以下技术说明、类图及Java代码,根据要求将(1)~(5)空缺处的内容填写完整。
[说明]
已知对某载客车辆(Car)进行类建模,如图4-20所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。
第4题
阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的
对应栏内。
【说明】
很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克
牌,洗牌后再按顺序打印每张牌的点数和花色。
【Java代码】
第5题
阅读以下技术说明和Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。
[说明]
类Queue表示队列,类中的方法如表4-12所示。
类Node表示队列中的元素;类EmptyQueueException给出了队列中的异常处理操作。
[Java代码]
public class testmain { //主类
public static viod main (string args[]) {
Queue q= new Queue;
q.enqueue("first!");
q.enqueue("second!");
q.enqueue("third!");
(1) {
while(true)
system.out.println(q.dequeue());
}
catch((2) ) { }
}
public class Queue { //队列
node m_firstnode;
public Queue(){m_firstnode=null;}
public boolean isempty() {
if (m_firstnode= =null)
return true;
else
return false;
}
public viod enqueue(object newnode) { //入队操作
node next = m_firstnode;
if (next = = null) m_firstnode=new node(newnode);
else {
while(next.getnext() !=null)
next=next.getnext();
next.setnext(new node(newnode));
}
}
public object dequeue() (3) { //出队操作
object node;
if (is empty())
(4)
else {
node =m_firstnode.getobject();
m_firstnode=m_firstnode.getnext();
return node;
}
}
}
public class node{ //队列中的元素
object m_data;
node m_next;
public node(object data) {m_data=data; m_next=null;}
public node(object data,node next) {m_data=data; m_next=next;}
public void setobject(object data) {m_data=data; }
public object getobject(object data) {return m_data; }
public void setnext(node next) {m_next=next; }
public node getnext() {return m_next; }
}
public class emptyqueueexception extends (5) { //异常处理类
public emptyqueueexception() {
system. out. println ("队列已空!" );
}
}
第6题
J2EE规范中定义的Web组件是(30)。
A.应用(Application)客户端
B.小程序(applet)
C.Java Servlet和Java Server Pages技术组件
D.Enterprise JavaBeans(EJB)组件
第7题
阅读以下说明和Java程序,将应填入(n)处的字句写在对应栏内。
[说明]
下面程序实现十进制向其它进制的转换。
[Java程序]
ClasS Node{
int data;
Node next;
}
class Transform{
private Node top;
public void print(){
Node p;
while(top!=null){
P=top;
if(P.data>9)
System.out.print((char)(P.data+55));
else
System.out.print(p.data);
top=p.next;
}
}
public void Trans(int d,int i){//d为数字;i为进制
int m;
(1) n=false;
Node p;
while(d>0){
(2);
d=d/i;
p=new Node();
if((3) ){
p.data=m;
(4);
top=P;
n=true;
}
else{
p.data=m;
(5);
top=P;
}
}
}
}
第8题
阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对应栏内。
[说明]
以下程序为类类型的变量应用实例,通过异常处理检验了类CCircle的变量的合法性,即参数半径应为非负值。仔细阅读代码和相关注释,将程序补充完整。
[JAVA代码]
//定义自己的异常类
class CCircleException extends Exception
{
}
// 定义类 CCircle
class CCircle
{
private double radius;
public void setRadius (double r ) (1)
{
if (r<0 ) {
(2)
}
else
(3)
}
Public void show () {
System. out. println ("area="+3.14*radius*radius );
}
}
public class ciusample
{
public static void main (String args[] )
{
CCircle cir=new CCircle();
(4) {
cir. setRadius (-2.0 )
}
(5)
{
System. out. println (e+" throwed" ) ;
}
cir. show() ;
}
}
第9题
●试题七
阅读以下说明和Java代码,将解答写入答题纸的对应栏内。
【说明】
下面程序的功能是找出所有三位数中,个、十、百位数字的立方和等于该数本身的三位数并显示。在程序的每条横线处填写一个适当的词或语句,使程序的功能完整。
public (1) class cube_Root{
public static void (2) main(String args[]){
System.out.println("个、十、百位数字的立方和等于该数本身的三位数有:");
for(int n=100;n<1000;n++)
{
int a,b,c;
(3)
b=n/10%10;
(4)
if((5) )
System.out.println(n);
}
}
}
第10题
●试题六
阅读以下说明和Java代码,将解答写入答题纸的对应栏内。【说明】
下面程序的功能是显示已定义的一个3行3列的二维数组每行的元素,并求所有元素的和并输出。请在程序的每条横线处填写一个适当的语句,使程序的功能完整。
public class Array{
(1) static (2) main(String args[])
{
int sum=0;
int b[][]={{11,12,13},{21,22,23},{31,32,33}};
for(int i=0; (3) i++)
{
System.out.print("b["+i+"]: ");
for(int j=0; (4) j++)
{
System.out.print(b[i][j]+" ");
(5)
}
System.out.println();
}
System.out.println("sum="+sum);
}
}
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!