Java编程:逆序输出与十进制转二进制实现

版权申诉
0 下载量 17 浏览量 更新于2024-09-06 收藏 12KB PDF 举报
"浙大Java语言程序设计编程答案8.pdf" 这部分内容主要涉及两个Java编程实验,实验9-1和实验9-2,都是关于数值处理的。在实验9-1中,要求实现一个方法`reverse(number)`,该方法接收一个整数`number`作为参数,返回其逆序数。在实验9-2中,需要编写一个方法`dectobin(n)`,用于将输入的正整数`n`转换成二进制表示并输出。 实验9-1详解: 1. 用户输入一个正整数`repeat`,该值小于10,表示接下来会进行`repeat`次逆序输出操作。 2. 在循环中,用户每次输入一个整数`n`,调用`reverse(n)`方法获取逆序数,然后打印结果。 3. `reverse(number)`方法的实现中,首先判断数字是否为负,如果是则设置标志`flag`为-1,表示逆序后需要加上负号。接着,通过取模运算 `%10` 分离出个位数字,然后通过乘以10和累加操作 `a=a*10+digit` 形成逆序数。最后,通过除以10 `number=number/10` 去掉已处理的个位,直到`number`为0,返回结果`flag*a`。 实验9-2详解: 1. 同样,用户输入一个`repeat`,表示接下来会进行`repeat`次十进制转二进制的操作。 2. 在循环中,用户输入一个正整数`n`,调用`dectobin(n)`方法,将结果输出。 3. `dectobin(n)`方法未给出具体实现,但通常会使用位运算或除法和模运算来实现。一种常见的方法是通过不断将`n`除以2并取余数,直到`n`变为0,然后将余数从低位到高位依次输出。 综合来看,这两个实验主要考察了Java的基本数据类型操作、循环控制、条件判断以及自定义方法的定义与调用。对于逆序输出,运用了数学技巧和位运算;对于十进制转二进制,可能涉及到位运算或模拟二进制转换的过程。这些都是Java初学者必须掌握的基础技能,同时也是计算机科学中的基础算法知识。