问题详情

下面程序实现十进制向其他进制的转换。

[Java程序]

C1ass 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=flew Node();

if( (3) ){

P.data=m;

(4) ;

top=P;

n=true;

}

else{

p.data=m;

(5) ;

toP=P;

}

}

}

}

参考答案
正确答案:(1)boolean (2) m=d%i (3) ln (4) top->next=null (5) p->next=top(1)boolean (2) m=d%i (3) ln (4) top->next=null (5) p->next=top 解析:本题考查Java编程,主要考查了链表的使用。 所有的问题只出在函数Trans中,它的功能是完成将十进制数d转换为任意进制i的数,并存在数组中。变量n被赋值为false,说明n是布尔型变量,Java中布尔型变量关键字为boolean。故(1)应填“boolean”。函数中首先定义了一个指向链表节点的指针(实为链栈),然后开始进行转换,进制转换应该是一个很常见的问题,就是不断地求模运算,所以(2)处应填入“m=d%i”。然后,我们要把求模的结果保存到链栈中。对于链栈,第一个节点比较特殊,需要特殊处理,从if块中的语句“n=tme”可知,此处正是处理第一个节点的特殊情况,故(3)应填“!n”,(4)处应填入“top->next=null”。这里采用的链栈,所以(5)处应填入“p->next=top”。
您可能感兴趣的试题