一、选择题
(1)下列方法中,哪些是interface中不合法方法的定义(B)
A.public void main(String[] args);
B.private get intSum();
C.boolean setFlag();
D.public float get();
接口中的方法如果未实现是需要继承后重写的,被private后是无法重写的
二、编程题
2.1 进制转换
2.1.1 题目
2.1.2 题解
思路:在将某个十进制的数转成2进制的时候,我们可以使用除2取余法,因此在将10进制的数转成N进制的时候,我们可以使用除N取余法,因为在除N取余中,我们需要将得到的余数逆序打印才得到最终的结果,因此这里可以使用栈来帮助我们存储余数
代码:
import java.util.HashMap;
import java.util.Scanner;
import java.util.Stack;
public class Main{
public static void main(String[] args) {
HashMap<Integer,Character> map=new HashMap<>();
map.put(10,'A');
map.put(11,'B');
map.put(12,'C');
map.put(13,'D');
map.put(14,'E');
map.put(15,'F');
Scanner scan=new Scanner(System.in);
int M=scan.nextInt();
int N=scan.nextInt();
if(M==0) System.out.print(0);
Stack<Integer> stack=new Stack<>();
boolean flag=false;
if(M<0){
M=-M;
flag=true;
}
while(M>0){
stack.push(M%N);
M/=N;
}
if(flag) System.out.print("-");
while(!stack.isEmpty()){
int tmp=stack.pop();
if(tmp<10){
System.out.print(tmp);
}else{
System.out.print(map.get(tmp));
}
}
}
}
【注意】:
如果输入的十进制数是负数,要先将其符号去掉,并在打印结果的时候先打印一个 -