java习题,java试题及答案

发布时间:2023-01-09

本文目录一览:

  1. [Java 习题](#Java 习题)
  2. [JAVA 练习题](#JAVA 练习题)
  3. java练习题求完整代码
  4. java习题

Java 习题

b jdk自带工具箱中的javac.exe文件用于编译满足java编程规范的.java文件 c 第2题问的有问题,编译完成后生成的应该是文件,而不是程序,生成的文件名应该根据所编译的文件内的类的命名决定,因此这道题目没法回答,不过行业内的规范是一个java文件中只定义一个公共类,也就是和文件名一样的类,所以实在要选就只能选C了 b jdk自带工具箱中的java.exe文件用于解释执行满足java编程规范的并且编译完成的.class文件 d applet小应用程序的执行方式就是appletviewer 网页格式文件,根据题设只能选d b 所有的java文件编译完成后将生成对应类名定义的字节码文件,该文件不依附与任何操作平台,只要java虚拟机可以运行,都可以正常的执行。 b JDK Java开发工具包,Java Development Kit 里面有运行环境JRE和开发时所需要的Java类库,以及一些编译调试运行的程序,如java.exe,javac.exe,javaw.exe等。

JAVA 练习题

public class JavaExos {
    public static void charInt(String chaine){ //1044
        String[] charInt = new String[2];
        int count = -1;
        char maxChar = 'A';
        int[] letterCount = new int[26];
        String word = chaine.toLowerCase();
        for (int i=0; i < word.length(); i++) {
            int indexOfChar = (byte)word.charAt(i)-97;
            letterCount[indexOfChar]++;
            if (letterCount[indexOfChar] > count || (letterCount[indexOfChar] == count && word.charAt(i) < maxChar)){
                count = letterCount[indexOfChar];
                maxChar = word.charAt(i);
            }
        }
        charInt[0] = String.valueOf(maxChar);
        charInt[1] = ""+count;
        System.out.println(charInt[0]+" "+charInt[1]);
    }
    public static void getDate(int n){ //1047 这题如果给1,其实是指2000年1月2号.
        n++;
        int[] getYear = getYear(n);
        int year = getYear[0];
        int[] getMonth = getMonth(year,getYear[1]);
        int month = getMonth[0];
        String monthString ;
        if(month < 10) monthString = "0"+String.valueOf(month);
        else monthString = String.valueOf(month);
        int day = getMonth[1];
        System.out.println(year+"-"+monthString+"-"+day+" "+getDayOfWeek(n));
    }
    private static boolean isBissextile(int n){
        if (n%4 == 0 && !(n%100 == 0 && n%400 != 0))
            return true;
        else
            return false;
    }
    private static int[] getYear(int n){
        int[] getYear = new int[2];
        int year = 2000;
        while(n > 0){
            if(isBissextile(year)) n -= 366;
            else n -= 365;
            if (n > 0) year++;
        }
        if(isBissextile(year)) n += 366;
        else n += 365;
        getYear[0] = year;
        getYear[1] = n;
        return getYear;
    }
    private static int[] getMonth(int year, int n){
        int[] getMonth = new int[2];
        int month = 1;
        while(n > 0){
            if(month <= 7 && month % 2 != 0) n -= 31;
            else if (month == 2 && isBissextile(year) ) n -= 29;
            else if (month == 2 && !isBissextile(year)) n -= 28;
            else if(month <= 7 && month % 2 == 0) n -= 30;
            else if(month % 2 == 0) n -= 31;
            else n -= 30;
            if (n > 0) month++;
        }
        if(month <= 7 && month % 2 != 0) n += 31;
        else if (isBissextile(year) && month == 2) n += 29;
        else if (!isBissextile(year) && month == 2) n += 28;
        else if(month <= 7 && month % 2 == 0) n += 30;
        else if(month % 2 == 0) n += 31;
        else n += 30;
        getMonth[0] = month;
        getMonth[1] = n;
        return getMonth;
    }
    private static String getDayOfWeek(int n){
        int quotient = n / 7;
        int remainder = n -= quotient * 7;
        switch(remainder){
            case 0 : return "Sunday";
            case 1 : return "Monday";
            case 2 : return "Tuesday";
            case 3 : return "Wednesday";
            case 4 : return "Thursday";
            case 5 : return "Friday";
            case 6 : return "Saturday";
            default : return "Never arrive";
        }
    }
    public static void getCode(String chaine){ //1048
        chaine = chaine.toUpperCase();
        System.out.println("START");
        System.out.println(chaine);
        System.out.println("END");
        System.out.println();
        for(int i=0; i < chaine.length(); i++){
            System.out.print((changChar(chaine.charAt(i))));
        }
        System.out.println();
    }
    private static char changChar(char c){
        if(c >= 65 && c <= 90 && c - 5 < 65) return (char)(c + 26 - 5);
        else if(c >= 65 && c <= 90) return (char)(c - 5);
        else return c;
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JavaExos.charInt("adfadffasdfda");
        JavaExos.getDate(1751);
        JavaExos.getCode("NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX");
    }
}

java练习题求完整代码

按照题目要求编写的用javaBean规范设计的学生类Student的Java程序如下 需要创建user.java.test包,把Student.java文件和Test.java文件放入包中,编译Student.java文件并且编译运行Test.java文件得到运行结果 Student.java文件代码如下

package user.java.test;
import java.io.Serializable;
public class Student implements Serializable{
    private static final long serialVersionUID = 1L;
    private String no;
    private String name;
    private double score;
    public Student(){}
    public Student(String no,String name,double score){
        this.no=no;
        this.name=name;
        this.score=score;
    }
    public String getNo(){ return no;}
    public void setNo(String no){ this.no=no;}
    public String getName(){ return name;}
    public void setName(String name){ this.name=name;}
    public double getScore(){ return score;}
    public void setScore(double score){ this.score=score;}
    public String toString(){
        return "学号:"+no+",姓名:"+name+",成绩:"+score;
    }
    public static double getAvg(Student[] sArray){
        double sum=0,avg;
        for(int i=0; i < sArray.length; i++){
            sum=sum+sArray[i].getScore();
        }
        avg=sum/sArray.length;
        return avg;
    }
}

Test.java文件代码如下

package user.java.test;
public class Test{
    public static void main(String[] args){
        Student[] sArray=new Student[5];
        sArray[0]=new Student("001","张三",89.5);
        sArray[1]=new Student("002","李四",82.5);
        sArray[2]=new Student("003","王五",93);
        sArray[3]=new Student("004","赵六",73.5);
        sArray[4]=new Student("005","孙七",66);
        System.out.println("这些学生的平均分:"+Student.getAvg(sArray));
        for(int i=0; i < sArray.length; i++){
            System.out.println(sArray[i].toString());
        }
    }
}

java习题

import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class calculator extends JFrame implements ActionListener {
    JFrame frame;
    private JButton jia = new JButton("+");
    private JButton jian = new JButton("-");
    private JButton cheng = new JButton("*");
    private JButton chu = new JButton("/");
    private JButton qiuyi = new JButton("%");
    private JButton deng = new JButton("=");
    private JButton fu = new JButton("+/-");
    private JButton dian = new JButton(".");
    private JButton kai = new JButton("sqrt");
    private JButton diao = new JButton("1/x");
    private JButton aa = new JButton("A");
    private JButton bb = new JButton("B");
    private JButton cc = new JButton("C");
    private JButton dd = new JButton("D");
    private JButton ee = new JButton("E");
    private JButton ff = new JButton("F");
    private TextField k1 = new TextField();
    private objConversion convert = new objConversion();
    JMenuItem copy, paste, s, t, help, about, me;
    JRadioButton sixteen, ten, eight, two;
    JButton backspace, ce, c, num0, num1, num2, num3, num4, num5, num6, num7, num8, num9;
    Container cp;
    JTextField text;
    String copycontent = "";
    boolean clickable = true, clear = true;
    int all = 0;
    double qian;
    String fuhao;
    int jin = 10, first = 1;
    public calculator() {
        setTitle("计算器-杨彩制作");
        setSize(400, 300);
        setLocation(250, 200);
        text = new JTextField(25);
        text.setText("0.");
        text.setHorizontalAlignment(JTextField.RIGHT); //从右到左
        JPanel cp1 = new JPanel();
        JPanel cp2 = new JPanel();
        JPanel cp3 = new JPanel();
        cp = getContentPane();
        cp.add(cp1, "North");
        cp.add(cp2, "Center");
        cp.add(cp3, "South");
        cp1.setLayout(new GridLayout(1, 6));
        cp2.setLayout(new GridLayout(2, 4));
        cp3.setLayout(new GridLayout(6, 6));
        sixteen = new JRadioButton("十六进制");
        sixteen.setVisible(false);
        ten = new JRadioButton("十进制", true);
        ten.setVisible(false);
        eight = new JRadioButton("八进制");
        eight.setVisible(false);
        two = new JRadioButton("二进制");
        two.setVisible(false);
        sixteen.addActionListener(this);
        ten.addActionListener(this);
        eight.addActionListener(this);
        two.addActionListener(this);
        ButtonGroup btg = new ButtonGroup();
        btg.add(sixteen);
        btg.add(ten);
        btg.add(eight);
        btg.add(two);
        JTextField t3 = new JTextField(25);
        cp1.add(text);
        text.setEditable(false);
        text.setBackground(new Color(255, 255, 255));
        cp2.add(sixteen);
        cp2.add(ten);
        cp2.add(eight);
        cp2.add(two);
        backspace = new JButton("Backspace");
        backspace.setForeground(new Color(255, 0, 0));
        backspace.addActionListener(this);
        ce = new JButton("CE");
        ce.setForeground(new Color(255, 0, 0));
        ce.addActionListener(this);
        c = new JButton("C");
        c.setForeground(new Color(255, 0, 0));
        c.addActionListener(this);
        k1.setVisible(false);
        cp2.add(k1);
        cp2.add(backspace);
        cp2.add(ce);
        cp2.add(c);
        num0 = new JButton("0");
        num1 = new JButton("1");
        num2 = new JButton("2");
        num3 = new JButton("3");
        num4 = new JButton("4");
        num5 = new JButton("5");
        num6 = new JButton("6");
        num7 = new JButton("7");
        num8 = new JButton("8");
        num9 = new JButton("9");
        cp3.add(num7);
        num7.addActionListener(this);
        cp3.add(num8);
        num8.addActionListener(this);
        cp3.add(num9);
        num9.addActionListener(this);
        cp3.add(chu);
        chu.setForeground(new Color(255, 0, 0));
        chu.addActionListener(this);
        cp3.add(kai);
        kai.addActionListener(this);
        cp3.add(num4);
        num4.addActionListener(this);
        cp3.add(num5);
        num5.addActionListener(this);
        cp3.add(num6);
        num6.addActionListener(this);
        cp3.add(cheng);
        cheng.setForeground(new Color(255, 0, 0));
        cheng.addActionListener(this);
        cp3.add(qiuyi);
        qiuyi.addActionListener(this);
        cp3.add(num1);
        num1.addActionListener(this);
        cp3.add(num2);
        num2.addActionListener(this);
        cp3.add(num3);
        num3.addActionListener(this);
        cp3.add(jian);
        jian.setForeground(new Color(255, 0, 0));
        jian.addActionListener(this);
        cp3.add(diao);
        diao.addActionListener(this);
        cp3.add(num0);
        num0.addActionListener(this);
        cp3.add(fu);
        fu.addActionListener(this);
        cp3.add(dian);
        dian.addActionListener(this);
        cp3.add(jia);
        jia.setForeground(new Color(255, 0, 0));
        jia.addActionListener(this);
        cp3.add(deng);
        deng.setForeground(new Color(255, 0, 0));
        deng.addActionListener(this);
        cp3.add(aa);
        aa.addActionListener(this);
        cp3.add(bb);
        bb.addActionListener(this);
        cp3.add(cc);
        cc.addActionListener(this);
        cp3.add(dd);
        dd.addActionListener(this);
        cp3.add(ee);
        ee.addActionListener(this);
        cp3.add(ff);
        ff.addActionListener(this);
        aa.setVisible(false);
        bb.setVisible(false);
        cc.setVisible(false);
        dd.setVisible(false);
        ee.setVisible(false);
        ff.setVisible(false);
        JMenuBar mainMenu = new JMenuBar();
        setJMenuBar(mainMenu);
        JMenu editMenu = new JMenu("编辑");
        JMenu viewMenu = new JMenu("查看");
        JMenu helpMenu = new JMenu("帮助");
        mainMenu.add(editMenu);
        mainMenu.add(viewMenu);
        mainMenu.add(helpMenu);
        copy = new JMenuItem(" 复制");
        paste = new JMenuItem(" 粘贴");
        KeyStroke copyks = KeyStroke.getKeyStroke(KeyEvent.VK_C, Event.CTRL_MASK);
        copy.setAccelerator(copyks); //设置退出菜单选项加上快捷键
        KeyStroke pasteks = KeyStroke.getKeyStroke(KeyEvent.VK_V, Event.CTRL_MASK);
        paste.setAccelerator(pasteks); //设置退出菜单选项加上快捷键
        editMenu.add(copy);
        editMenu.add(paste);
        copy.addActionListener(this);
        paste.addActionListener(this);
        t = new JMenuItem("●标准型");
        s = new JMenuItem(" 科学型");
        viewMenu.add(t);
        viewMenu.add(s);
        t.addActionListener(this);
        s.addActionListener(this);
        help = new JMenuItem(" 帮助主题");
        about = new JMenuItem(" 关于计算器");
        me = new JMenuItem(" 作者主页");
        helpMenu.add(help);
        helpMenu.add(about);
        helpMenu.add(me);
        help.addActionListener(this);
        about.addActionListener(this);
        me.addActionListener(this);
        addWindowListener(new WindowDestroyer()); //结束窗口
    }
    public void actionPerformed(ActionEvent e) { //响应动作代码
        if(first == 1)
            text.setText("");
        first = 0; //第一次把文本框0.清空
        Object temp = e.getSource();
        if(temp == copy) {
            copycontent = text.getText();
        }
        if(temp == paste) {
            text.setText(text.getText() + copycontent);
        }
        if(temp == t) { //标准
            sixteen.setVisible(false);
            ten.setVisible(false);
            eight.setVisible(false);
            two.setVisible(false);
            t.setText("●标准型");
            s.setText(" 科学型");
            aa.setVisible(false);
            bb.setVisible(false);
            cc.setVisible(false);
            dd.setVisible(false);
            ee.setVisible(false);
            ff.setVisible(false);
        }
        if(temp == s) { //科学
            sixteen.setVisible(true);
            ten.setVisible(true);
            eight.setVisible(true);
            two.setVisible(true);
            t.setText(" 标准型");
            s.setText("●科学型");
            aa.setVisible(true);
            bb.setVisible(true);
            cc.setVisible(true);
            dd.setVisible(true);
            ee.setVisible(true);
            ff.setVisible(true);
            aa.setEnabled(false);
            bb.setEnabled(false);
            cc.setEnabled(false);
            dd.setEnabled(false);
            ee.setEnabled(false);
            ff.setEnabled(false);
        }
        if(temp == help) { //打开系统帮助文件 要查资料
            try {
                String filePath = "C:/WINDOWS/Help/calc.chm";
                Runtime.getRuntime().exec("cmd.exe /c " + filePath);
            } catch(Exception eeee) {
                System.out.println("打开系统的计算器出错");
            }
        }
        if(temp == about) {
            JOptionPane.showMessageDialog(frame, " Java计算器\n 杨彩 制作\n\n ", "关于计算器", JOptionPane.INFORMATION_MESSAGE);
        }
        if(temp == me) {
            try {
                Process p = Runtime.getRuntime().exec("explorer ");
            } catch(Exception eeee) {
                System.out.println("打开指定网页出错");
            }
        }
        try {
            if(temp == sixteen) {
                String hex = text.getText();
                int inthex = Integer.parseInt(hex, jin); //先把数变为10进制
                text.setText(convert.decHex(inthex));
                jin = 16;
                aa.setEnabled(true);
                bb.setEnabled(true);
                cc.setEnabled(true);
                dd.setEnabled(true);
                ee.setEnabled(true);
                ff.setEnabled(true);
                num2.setEnabled(true);
                num3.setEnabled(true);
                num4.setEnabled(true);
                num5.setEnabled(true);
                num6.setEnabled(true);
                num7.setEnabled(true);
                num8.setEnabled(true);
                num9.setEnabled(true);
            }
            if(temp == eight) {
                String oct = text.getText();
                int intoct = Integer.parseInt(oct, jin);
                text.setText(convert.decOct(intoct));
                jin = 8;
                aa.setEnabled(false);
                bb.setEnabled(false);
                cc.setEnabled(false);
                dd.setEnabled(false);
                ee.setEnabled(false);
                ff.setEnabled(false);
                num2.setEnabled(true);
                num3.setEnabled(true);
                num4.setEnabled(true);
                num5.setEnabled(true);
                num6.setEnabled(true);
                num7.setEnabled(true);
                num8.setEnabled(false);
                num9.setEnabled(false);
            }
            if(temp == two) {
                String bin = text.getText();
                int intbin = Integer.parseInt(bin, jin);
                text.setText(convert.decBin(intbin));
                jin = 2;
                aa.setEnabled(false);
                bb.setEnabled(false);
                cc.setEnabled(false);
                dd.setEnabled(false);
                ee.setEnabled(false);
                ff.setEnabled(false);
                num2.setEnabled(false);
                num3.setEnabled(false);
                num4.setEnabled(false);
                num5.setEnabled(false);
                num6.setEnabled(false);
                num7.setEnabled(false);
                num8.setEnabled(false);
                num9.setEnabled(false);
            }
            if(temp == ten) {
                String dec = text.getText();
                int intdec = Integer.parseInt(dec, jin);
                text.setText(intdec + "");
                jin = 10;
                aa.setEnabled(false);
                bb.setEnabled(false);
                cc.setEnabled(false);
                dd.setEnabled(false);
                ee.setEnabled(false);
                ff.setEnabled(false);
                num2.setEnabled(true);
                num3.setEnabled(true);
                num4.setEnabled(true);
                num5.setEnabled(true);
                num6.setEnabled(true);
                num7.setEnabled(true);
                num8.setEnabled(true);
                num9.setEnabled(true);
            }
        } catch(Exception ee) {
            System.out.println("转换出错,可能你没有输入任何字符");
            text.setText("转换出错");
            clear = false;
        }
        if(temp == backspace) { //退格
            String s = text.getText();
            text.setText("");
            for (int i = 0; i < s.length() - 1; i++) {
                char a = s.charAt(i);
                text.setText(text.getText() + a);
            }
        }
        if (temp == ce) {
            text.setText("0.");
            clear = true;
            first = 1;
        }
        if (temp == c) {
            text.setText("0.");
            clear = true;
            first = 1;
        }
        if(temp == num0) {
            if(clear == false) //判断是否点击了符号位
                text.setText("");
            text.setText(text.getText() + "0");
        }
        if(temp == num1) {
            if(clear == false)
                text.setText("");
            text.setText(text.getText() + "1");
            clear = true; //第二次不在清空(前二句)
        }
        if(temp == num2) {
            if(clear == false)
                text.setText("");
            text.setText(text.getText() + "2");
            clear = true;
        }
        if(temp == num3) {
            if(clear == false)
                text.setText("");
            text.setText(text.getText() + "3");
            clear = true;
        }
        if(temp == num4) {
            if(clear == false)
                text.setText("");
            text.setText(text.getText() + "4");
            clear = true;
        }
        if(temp == num5) {
            if(clear == false)
                text.setText("");
            text.setText(text.getText() + "5");
            clear = true;
        }
        if(temp == num6) {
            if(clear == false)
                text.setText("");
            text.setText(text.getText() + "6");
            clear = true;
        }
        if(temp == num7) {
            if(clear == false)
                text.setText("");
            text.setText(text.getText() + "7");
            clear = true;
        }
        if(temp == num8) {
            if(clear == false)
                text.setText("");
            text.setText(text.getText() + "8");
            clear = true;
        }
        if(temp == num9) {
            if(clear == false)
                text.setText("");
            text.setText(text.getText() + "9");
            clear = true;
        }
        if(temp == aa) {
            text.setText(text.getText() + "A");
        }
        if(temp == bb) {
            text.setText(text.getText() + "B");
        }
        if(temp == cc) {
            text.setText(text.getText() + "C");
        }
        if(temp == dd) {
            text.setText(text.getText() + "D");
        }
        if(temp == ee) {
            text.setText(text.getText() + "E");
        }
        if(temp == ff) {
            text.setText(text.getText() + "F");
        }
        if(temp == dian) {
            clickable = true;
            for (int i = 0; i < text.getText().length(); i++)
                if ('.' == text.getText().charAt(i)) {
                    clickable = false;
                    break;
                } //第一层判断是否里面含有小数点;
            if(clickable == true) //第二坛判断
                text.setText(text.getText() + ".");
        }
        try {
            if(temp == jia) { //加法
                qian = Double.parseDouble(text.getText());
                fuhao = "+";
                clear = false;
            }
            if(temp == jian) {
                qian = Double.parseDouble(text.getText());
                fuhao = "-";
                clear = false;
            }
            if(temp == cheng) {
                qian = Double.parseDouble(text.getText());
                fuhao = "*";
                clear = false;
            }
            if(temp == chu) {
                qian = Double.parseDouble(text.getText());
                fuhao = "/";
                clear = false;
            }
            if(temp == deng) {
                double ss = Double.parseDouble(text.getText());
                text.setText("");
                if(fuhao.equals("+"))
                    text.setText(qian + ss + "");
                if(fuhao.equals("-"))
                    text.setText(qian - ss + "");
                if(fuhao.equals("*"))
                    text.setText(qian * ss + "");
                if(fuhao.equals("/"))
                    text.setText(qian / ss + "");
                clear = false; //要清空前一次的数据
            }
            if(temp == kai) {
                String s = text.getText();
                if (s.charAt(0) == '-') {
                    text.setText("负数不能开根号");
                } else
                    text.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(text.getText()))));
                clear = false;
            }
            if(temp == diao) {
                if (text.getText().charAt(0) == '0' && text.getText().length() == 1) {
                    text.setText("除数不能为零");
                } else {
                    boolean isDec = true;
                    int i, j, k;
                    String s = Double.toString(1 / Double.parseDouble(text.getText()));
                    for (i = 0; i < s.length(); i++)
                        if (s.charAt(i) == '.')
                            break;
                    for (j = i + 1; j < s.length(); j++)
                        if (s.charAt(j) != '0') {
                            isDec = false;
                            break;
                        }
                    if (isDec == true) {
                        String stemp = "";
                        for (k = 0; k < i; k++)
                            stemp += s.charAt(k);
                        text.setText(stemp);
                    } else
                        text.setText(s);
                }
                clear = false;
            }
            if(temp == qiuyi) {
                text.setText("0");
                clear = false;
            }
            if (temp == fu) { //导师,此方法参考书中例子
                boolean isNumber = true;
                String s = text.getText();
                for (int i = 0; i < s.length(); i++)
                    if (! (s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.' || s.charAt(i) == '-')) {
                        isNumber = false;
                        break;
                    }
                if (isNumber == true) {
                    //如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉
                    if (s.charAt(0) == '-') {
                        text.setText("");
                        for (int i = 1; i < s.length(); i++) {
                            char a = s.charAt(i);
                            text.setText(text.getText() + a);
                        }
                    } //如果当前字符串第一个字符不是符号,则添加一个符号在首字母处
                    else
                        text.setText('-' + s);
                }
            }
        } catch(Exception eee) {
            System.out.println("运算时,首先输入数字或字符");
            text.setText("运算出错");
            clear = false;
        }
    }
    class WindowDestroyer extends WindowAdapter { //退出窗口动作
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    }
    class objConversion { //导师,本进制类参考了CSMD类转换例子
        public void objConversion () {}
        public String decDec (int decNum) { //10
            String strDecNum = Integer.toString(decNum);
            for (int i = strDecNum.length(); i < 3; i++) {
                strDecNum = "0" + strDecNum;
            }
            return invert (strDecNum, 5);
        }
        public String decHex (int decNum) { //10 to 16
            String strHexNum = "";
            int currentNum = 0;
            while (decNum != 0) {
                if (decNum > 15) {
                    currentNum = decNum % 16;
                    decNum /= 16;
                } else {
                    currentNum = decNum;
                    decNum = 0;
                }
                switch (currentNum) {
                    case 15: strHexNum += "F"; break;
                    case 14: strHexNum += "E"; break;
                    case 13: strHexNum += "D"; break;
                    case 12: strHexNum += "C"; break;
                    case 11: strHexNum += "B"; break;
                    case 10: strHexNum += "A"; break;
                    default: strHexNum += Integer.toString(currentNum); break;
                }
            }
            return invert (strHexNum, 2);
        }
        public String decOct (int decNum) { //10 to 8
            String strOctNum = "";
            while (decNum != 0) {
                if (decNum > 7) {
                    strOctNum += Integer.toString(decNum % 8);
                    decNum /= 8;
                } else {
                    strOctNum += Integer.toString(decNum);
                    decNum = 0;
                }
            }
            return invert (strOctNum, 3);
        }
        public String decBin (int decNum) { //10 to 2
            String strBinNum = "";
            while (decNum != 0) {
                if (decNum > 1) {
                    strBinNum += Integer.toString(decNum % 2);
                    decNum /= 2;
                } else {
                    strBinNum += Integer.toString(decNum);
                    decNum = 0;
                }
            }
            return invert (strBinNum, 8);
        }
        private String invert (String strNum, int minLength) { //转换长度
            String answer = "";
            int length = strNum.length();
            if (length < minLength) {
                for (int padding = (minLength - length); padding > 0; padding--) {
                    answer += "0";
                }
            }
            for (int i = length; i > 0; i--) {
                answer += strNum.charAt (i - 1);
            }
            return answer;
        }
    }
    public static void main(String arg[]) { //产生窗口
        calculator win = new calculator();
        win.setVisible(true);
    }
}

第二个: