1、问题:利用do while语句实现(数组尚未学习情形): 从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。 2、思考 (1)十进制——>二进制,采用“除基取余,商为0”的方法。 (2)余数的逆序输出 由于尚未学习数组,便采用了暴力的方法直接循环相加。 (3)do while语句的作用域问题 初始化变量过程中发现若在do{}中定义一个变量,while() 中会报错“cannot resolve symbol ’‘”,这是因为 do{}里面定义的只是局部变量,超出{}便访问不了。 3、代码如下: import java.util.Scanner; public class HomeWork04 { public static void main(String[] args) { System.out.println("请输入一个整数:"); Scanner sc=new Scanner(System.in); int number=sc.nextInt(); int i=1; int shang=1; int answer=1; int a=0; do{ shang=number/2; int yuShu=number-shang*2; number=shang; a=yuShu*i; answer+=a; i*=10; }while(shang!=0); System.out.println(number+"的二进制为:ob"+answer);}}
从零开始学Java—Day04练习02:do while语句做题过程及对作用域的相关思考记录
最新推荐文章于 2024-10-10 09:56:47 发布