六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 31|回复: 0

阶乘 16进制转换 输出1-9所有的排列组合

[复制链接]

升级  20%

18

主题

18

主题

18

主题

秀才

Rank: 2

积分
80
 楼主| 发表于 2013-1-26 14:02:34 | 显示全部楼层 |阅读模式
阶乘的代码
public class Factorial {public static Integer factorial(int i){if(i<0){System.out.println("输入错误");return null;}else if(i==0){return 1;}else{if(i-1 > 1){return i*factorial(i-1);}else{return i;}}}public static void main(String[] args) {for(int num=-100;num<10;num++){System.out.println(num+ "的阶乘是"+ factorial(num));}}} 
负数不知道怎么处理好
 
16进制转换为10进制整数public class Hex2Decimal {
//用Integer的方法/*public static int hex2Decimal(String str){return Integer.parseInt(str, 16);}*///用Character的方法public static int hex2Decimal(String str){int len = str.length();int sum = 0;for(int i=0;i<len;i++){char c = str.charAt(i);int n = Character.digit(c, 16);sum += n*(1<<(4*i));}return sum;}public static void main(String[] args) {String st = "aa";System.out.println(hex2Decimal(st));}} 输出1-9所有的排列组合public class Permutations {
    private int[] a = new int[10];       public void init(){        for(int i=1;i<=9;i++){            a[i]=i;           }    }       private void printNumber(){        for(int j=1;j<=9;j++){            System.out.print(a[j]+" ");        }        System.out.println();    }       public void range(int index){        if(index==9){            printNumber();        }        else{            for(int i=index;i<=9;i++){                int k = index;                swap(i,k);                range(k+1);                               swap(i,k);            }               }    }       private void swap(int i, int j){        int temp =a[i];        a[i]=a[j];        a[j]=temp;    }       public static void main(String[] args) {    Permutations p = new Permutations();        p.init();        p.range(1);    }}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表