如何解决java进制转换越界问题

进制转换器中有两组radio button,如果要2进制转换10进制,输入了3就会出现问题 其他进制也一样 该怎么解决?图片

            TextWatcher textWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                //s--未改变之前的内容
                //start--内容被改变的开始位置
                //count--原始文字被删除的个数
                //after--新添加的内容的个数
                //---------start和count结合从s中获取被删除的内容-------
                String deleText = s.toString().substring(start, start + count);
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                //s--改变之后的新内容
                //start--内容被改变的开始位置
                //before--原始文字被删除的个数
                //count--新添加的内容的个数
                //---------start和count结合从s中获取新添加的内容-------
                String addText = s.toString().substring(start, start + count);
            }
            @Override
            public void afterTextChanged(Editable s) {
                //s--最终内容
            }
        };
     edit_content.addTextChangedListener(textWatcher);

监听输入内容,不合法的输入剔除就可以了

话说二进制的是有0和1组成的,哪来的3

TextWatcher监听EditText变化,每次输入进行格式检查

android的前端控制不会,不过用swing的话,我会用txtInput2.addActionListener(new KeyListener() {

        @Override
        public void keyTyped(KeyEvent e) {
            // TODO Auto-generated method stub

        }

        @Override
        public void keyReleased(KeyEvent e) {
            // TODO Auto-generated method stub

        }

        @Override
        public void keyPressed(KeyEvent e) {
            // TODO Auto-generated method stub

        }
    };
);
监听键盘,判断如果输入不合法 直接截取输入的字符串
android应该也是同样的道理