——进制转换器
题目:十进制向任一用户输入的N进制转换的程序。例如,提示用户输入某个进制类型,若用户输入3则表示采用3进制;随后再提示用户输入某个十进制数,假设为6;则程序返回6的三进制表示形式,即20;若输入进制为4,则6的四进制表示应返回12,以此类推。
思路很简单就是做一个循环。就是输入的数字要先对N取余,第一个取余得到的就是对应最右边的位次,再以此向左;取余之后相除,除后取余得到第二位数字以后向后类推
由于第一次写java代码,以前的编程只学过C和C#还忘了很多,所以记录一下最基础的问题
1.在需要从键盘录入
Scanner XXX = new Scanner(System.in);
在调用录入键盘的输入前要写的一句话,在这个里面我的理解是XXX就是一个对象,是你自己起的名字,这句话是创建 Scanner 对象的基本语法。
一个相关的菜鸟教程
2. 为了使得程序增加用户友好性,我运用了do while循环,在最后嵌套时要注意将do while 的判定条件中的未知变量的定义要放在这个循环的外部,不然会报错。但是不知道为什么我的代码的do while 循环不太对,没有能够成功循环,如果有朋友能够指出问题感激不尽~
3. 在程序中在程序中定义数组的方法:
4.
int size = 10;//定义数组的长度是10 int[] numList = new int[size];//这里是对于数组的定义,new是新建一个数组
4.在输出数组时,一开始选择的是正序输出,会导致顺序正好是反的,于是我将循环改成
for(int a=0;a发现这样做程序报错了,原因是一共我为数组设置了10位,但是起始是从0开始,所以最后一位应该是9,也就是说正确的应该是:
for(int a=0;a于是程序正确运行了
二、代码奉上package mathcalculation; //胡竞文's homework 2 import java.util.Scanner;//这句话是用来调用Scanner类的 public class mathcalculation { public static void main(String[] args)//主函数的定义 { String dialogresult="a"; do{ Scanner calculation = new Scanner(System.in); System.out.println("欢迎来到通信本1902胡竞文的实验2"); System.out.println("请输入数字N表示你要将十进制数转为N进制数:"); if (calculation.hasNextInt()) { int transfernum = calculation.nextInt(); //定义transfernum为数字N。即N进制 System.out.println("请输入要转换的数字inputnum"); int inputnum=calculation.nextInt();//定义inputnum为输入要计算的数 int size = 10;//定义数组的长度是10 int[] numList = new int[size];//这里是对于数组的定义,new是新建一个数组 int i=0; while(inputnum!=0) //务必记住这里的思路是输入的数字要先对N取余,第一个取余得到的就是对应最右边的位次,再以此向左;取余之后相除,除后取余得到第二位数字以后向后类推 { numList[i]=inputnum%transfernum; inputnum=inputnum/transfernum; i++; } System.out.println("对应的十位二进制数字是"); for(int a=0;a三、实验截图
记录就到这里啦~拜拜



