[讨论] 程序改进编写
disanjia 于 2008-5-15 19:41:13 加贴在 Java程序设计 ←返回版面

请把下面的程序认真阅读分析之后写出该类的功能,并在此基础上改写成循环接收用户输入的字符串,根据字符串的后缀进行转换,直至输入“Q”或“q”为止。例如,输入“1010B”,则输出10。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class StringtoNumber2816 {
public int BinaryToDecimal(String number){
int result;
result=Integer.parseInt(number,2);
return result;
}
public int OctalToDecimal(String number){
int result;
result=Integer.parseInt(number,8);
return result;
}
public int HexToDecimal(String number){
int result;
result=Integer.parseInt(number,16);
return result;
}
public static void main(String[] args) throws IOException{
int y;
String str="100";
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringtoNumber2816 stringtoNumber=new StringtoNumber2816();
System.out.print("请输入数字(二进制):");
str=br.readLine();
y=stringtoNumber.BinaryToDecimal(str);
System.out.println("对应的十进制数是:"+y);
System.out.print("请输入数字(八进制):");
str=br.readLine();
y=stringtoNumber.OctalToDecimal(str);
System.out.println("对应的十进制数是:"+y);
System.out.print("请输入数字(十六进制):");
str=br.readLine();
y=stringtoNumber.HexToDecimal(str);
System.out.println("对应的十进制数是:"+y);
}
}
2.请把下面的程序认真阅读分析之后写出该类的功能,并在此基础上改写成循环接收用户输入的数,直至输入“Q”或“q”为止。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class NumbertoString2816 {
public String NumberToBinaryString(int number){
String result;
result=Integer.toBinaryString(number);
return result;
}
public String NumberToOctalString(int number){
String result;
result=Integer.toOctalString(number);
return result;
}
public String NumberToHexString(int number){
String result;
result=Integer.toHexString(number);
return result;
}
public static void main(String[] args) throws IOException{
int x;
String str;
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
System.out.print("请输入数字:");
str=br.readLine();
System.out.println();
x=Integer.parseInt(str);
String y;
NumbertoString2816 numbertoString=new NumbertoString2816();
System.out.println("对应的十进制数是:"+String.valueOf(str));
y=numbertoString.NumberToBinaryString(x);
System.out.println("对应的二进制数是:"+y);
y=numbertoString.NumberToOctalString(x);
System.out.println("对应的八进制数是:"+y);
y=numbertoString.NumberToHexString(x);
System.out.println("对应的十六进制数是:"+y);
}
}
计算机世界开发者俱乐部 http://dev-club.esnai.com

