import java.util.*;
//二进制转换为八进制
public class TtoB{
public static void main(String[] args){
String s;
int i,l;
s="0001111110001101110010010000";
i=s.length()%3;
if(i==1) s="00"+s;
if (i==2) s="0"+s;
l=s.length()/3;
int[] r=new int[l];
int m=0;
String[] str=new String[]{"000","001","010","011","100","101","110","111"};
for(int j=0;j<s.length();j=j+3) {
String w=s.substring(j,j+3);
for( i=0;i<8;i++)
if(str[i].equals(w))
r[m]=i;
m++;
}
for(i=0;i<m;i++)
System.out.print(r[i]);
}
}
//二进制转换为八进制
public class TtoB{
public static void main(String[] args){
String s;
int i,l;
s="0001111110001101110010010000";
i=s.length()%3;
if(i==1) s="00"+s;
if (i==2) s="0"+s;
l=s.length()/3;
int[] r=new int[l];
int m=0;
String[] str=new String[]{"000","001","010","011","100","101","110","111"};
for(int j=0;j<s.length();j=j+3) {
String w=s.substring(j,j+3);
for( i=0;i<8;i++)
if(str[i].equals(w))
r[m]=i;
m++;
}
for(i=0;i<m;i++)
System.out.print(r[i]);
}
}
解决方案 »
- ------------------------请教两个的java方法,麻烦给出代码实例谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- Thread中的interrupt()问题……
- 看了几个配置环境变量的帖子~结果说的都不一样,也不知道该按哪种配置了~
- 大家来讨论下“java 内部类”吧!
- 如何在Canvas里面画出一个JButton?
- 如何从一个类中返回参数?
- 请教怎样在canvas上面画图啊?我怎么画出来的一闪而过
- 用eclipse的进来一下,问一个简单的问题
- 同一对象加载多个监听出错,是不允许?还是其它原因??
- 用UltraEdit时,如何设置类路径,使之实现"."功能?
- 用java的IO流来接收msdos的输出信息(如dir,type,copy......)?
- 请问你们有没有在Java中调用windows下的dll的应用经验
//: Binary2Octal.java
// Using the bitwise operators
import java.util.*;public class Binary2Octal {
public static void main(String[] args) {
Random rand = new Random();
int i = rand.nextInt();
System.out.println("Random int: "+i);
System.out.println("Random int to Binary: "+toBinary(i));
System.out.println("Random int to Octal: "+toOctal(i));
System.out.println("Random int to Hex: "+toHex(i));
}
static String toBinary(int i){
return toUnsignedString(i,1);
}
static String toOctal(int i){
return toUnsignedString(i,3);
}
static String toHex(int i){
return toUnsignedString(i,4);
}
final static char[] digits = {
'0' , '1' , '2' , '3' , '4' , '5' ,
'6' , '7' , '8' , '9' , 'a' , 'b' ,
'c' , 'd' , 'e' , 'f' , 'g' , 'h' ,
'i' , 'j' , 'k' , 'l' , 'm' , 'n' ,
'o' , 'p' , 'q' , 'r' , 's' , 't' ,
'u' , 'v' , 'w' , 'x' , 'y' , 'z'
};
private static String toUnsignedString(int i, int shift) {
char[] buf = new char[32];
int charPos = 32;
int radix = 1 << shift;
int mask = radix - 1;
do {
buf[--charPos] = digits[i & mask];
i >>>= shift;
} while (i != 0); return new String(buf, charPos, (32 - charPos));
}
}
System.out.print(r[i]);