笔试强训(四)

一、选择题

(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));
           }
       }
    }
}

【注意】:
如果输入的十进制数是负数,要先将其符号去掉,并在打印结果的时候先打印一个 -

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值