JAVA Programming上机实验2
问题描述
已知十进制向二进制转换的过程如下图所示。
请写出程序:给出十进制向任一进制转换的程序。
例如,提示用户输入某个进制类型,若用户输入3则表示采用3进制;随后再提示用户输入某个十进制数,假设为6;则程序返回6的三进制表示形式,即20;
若输入进制为4,则6的四进制表示应返回12,以此类推。
请得出结果后自行验证程序的准确性。
代码实现
package test2;
import java.util.*;
public class test2 {
public void transform(int num,int n){
//参数num为输入的十进制数,参数n为要转换的进制
int array[]=new int[100];
int location=0;
while(num!=0){//当输入的数不为0时循环执行求余和赋值
int remainder=num%n;
num=num/n;
array[location]=remainder;//将结果加入到数组中去
location++;
}
show(array,location-1);
}
private void show(int[] arr,int n){
for(int i=n;i>=0;i--){
if(arr[i]>9){
System.out.print((char)(arr[i]+55));
}
else
System.out.print(arr[i]+"");
}
}
public static void main(String[] args) {
// 测试用例
Scanner s = new Scanner(System.in);
System.out.print("Please intput target number:");
int x = s.nextInt();
System.out.print("Please input scale:");
int y = s.nextInt();
test2 t=new test2();
t.transform(x,y);
}
}
代码测试
总结归纳
import java.util.Scanner是指导入java.util包下的Scanner类,导入后才能使用它。
一.import java.util.Scanner的作用:用来构建Scanner对象。
二.import的作用:
加载已定义好的类或包
导入支持类(可以是JDK基础类或者自己编写的类),可以供本类调用方法和属性。
本代码进制转换的数值是整数,由于最近身体略有不适且时间不够,仅考虑了输入的数值为整数的情况,关于小数和负数还未考虑,后续再进行补充。