会员登录 用户名: 密码: 登录 新会员注册 [找回密码]
当前位置:编程论坛 >> C/S程序开发专区 >> JAVA编程论坛 >> [求助]java程序求解
首页
  发表一个新主题  发表一个新投票  回复主题 您是本帖的第 199 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
 * 贴子主题:[求助]java程序求解 悬赏分30 [已结帖] 报告本帖给版主  显示可打印的版本  把本贴打包邮递  把本贴加入论坛收藏夹  发送本页面给朋友  把本贴加入IE收藏夹 
 haoxue 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:85
  专家分:0
  提问帖:4/4
  回答帖:0
  总帖数:4
  经验值:65
  注 册:2008-5-17
给haoxue发送一个短消息 把haoxue加入好友 查看haoxue的个人资料 搜索haoxue在JAVA编程论坛的所有贴子 引用回复这个贴子 回复这个贴子楼主
发贴心情 

[求助]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); 
}
}


发帖:2008-5-17 17:33:00
  鲜花(0)  鸡蛋(0)
 程序员 帅哥哟,离线,有人找我吗?
  
  
  等 级:贵宾
  积 分:2544
  专家分:1605
  提问帖:0/0
  回答帖:130
  总帖数:152
  经验值:208
  注 册:2008-3-8
给程序员发送一个短消息 把程序员加入好友 查看程序员的个人资料 搜索程序员在JAVA编程论坛的所有贴子 引用回复这个贴子 回复这个贴子2
发贴心情 

这个一个二进制,八进制,十进制之间转换的程序。和楼主要的区别很大。
发帖:2008-5-17 19:57:00
 k0_0k 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:58
  专家分:230
  提问帖:3/2
  回答帖:6
  总帖数:14
  经验值:104
  注 册:2007-12-26
给k0_0k发送一个短消息 把k0_0k加入好友 查看k0_0k的个人资料 搜索k0_0k在JAVA编程论坛的所有贴子  引用回复这个贴子 回复这个贴子3
发贴心情 

第一题是二进制,八进制,十六进制转换十进制
public static void main(String[] args) throws IOException{
 int y;
    boolean b=true;
 String str="100";
 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
 StringtoNumber2816 stringtoNumber=new StringtoNumber2816();
 while(b){
  System.out.println("请输入:");
  str=br.readLine();
  try{
   if(str.indexOf("b")!=-1||str.indexOf("B")!=-1){   //查看str里有没有"b"或者"B"
   String str1=str.substring(0, str.length()-1);
   y=stringtoNumber.BinaryToDecimal(str1);           //调用BinaryToDecimal()方法
   System.out.println("十进制为:"+y);
      }
   else if(str.indexOf("o")!=-1||str.indexOf("O")!=-1){
    String str1=str.substring(0, str.length()-1);
    y=stringtoNumber.OctalToDecimal(str1);
    System.out.println("十进制为:"+y);
      }
   else if(str.indexOf("h")!=-1||str.indexOf("H")!=-1){
    String str1=str.substring(0, str.length()-1);
    y=stringtoNumber.HexToDecimal(str1);
    System.out.println("十进制为:"+y);
   }
   else if(str.indexOf("Q")!=-1||str.indexOf("q")!=-1){
        break;
   }
   else {
       System.out.println(str);
   }
   }catch(Exception e){System.out.println("输入错误,请重新输入:");}
    } 
 }
第二题是十进制转换二进制,八进制,十六进制,和第一题差不多,对着修改下就行了
发帖:2008-5-20 11:45:00

本主题贴数3,分页:[上一页] [1] [下一页]

此主题已经结帖:

k0_0k-30

 *快速回复:[求助]java程序求解  [ 回帖是一种美德 :) ]
会员账号 用户名    还没注册?    密码    忘记密码?
内容
  • HTML标签: 不可用
  • UBB标签: 可用
  • 贴图标签: 可用
  • 多媒体标签:可用
  • 表情字符转换:可用
  • 上传图片:不可用
  • 最多15KB
  • 点击表情图即可在帖子中加入相应的表情
                                
    邮件回复 显示签名   [Ctrl+Enter直接提交贴子]

    管理选项锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告