求写一个java程序...在线等

就是你输入一个2进制的数字,然后你把它转化成为普通的数字...先判断,比如你输入44,会输出错误,然后如果你输入111,就会把111转换成普通数字,,,知道你输入一个2字... 就是你输入一个2进制的数字,然后你把它转化成为普通的数字...先判断,比如你输入44,会输出错误,然后如果你输入111,就会把111转换成普通数字,,,知道你输入一个2字,就会结束...
我们老师很麻烦,他要求要用, import acm.program.*;来写,然后呢...又要用, ReadLine(), length(),和charAt())来写,,可不可以写得简单..越笨..就越真实我不是抄来的,,下面的那些..太深奥...我怕老师会看出我是抄出来的...变成这个样子就ok,
展开
 我来答
akfucc
2009-12-04 · TA获得超过5454个赞
知道大有可为答主
回答量:1771
采纳率:0%
帮助的人:2175万
展开全部
import java.util.Scanner;

public class T {
public static void main(String[] args) {
while (true) {
String num = get("输入二进制数字: ");
Integer i = Integer.valueOf(num, 2);
System.out.println("输入的二进制转换成十进制为: " + i);
}
}

public static String get(String tip) {
System.out.print(tip);
Scanner sc = new Scanner(System.in);
String result = sc.nextLine();
if (result == null || result.length() == 0) {
System.out.println("输入错误");
return get(tip);
}
if ("2".equals(result)) {
System.out.println("程序结束");
System.exit(1);
}
for (int i = 0; i < result.length(); i++) {
char c = result.charAt(i);
if (c != '1' && c != '0') {
System.out.println("输入错误");
return get(tip);
}
}
return result;
}
}
不格不E
2009-12-04 · TA获得超过656个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:0
展开全部
import javax.swing.JOptionPane;

public class ryrt {

public static void main(String[] args) {
String str = JOptionPane.showInputDialog(null, "请输入一个二进制数字", "转换",
JOptionPane.QUESTION_MESSAGE);
int k = 0;
try {
k = Integer.parseInt(str);
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "请输入数字", "输入错误",
JOptionPane.ERROR_MESSAGE);
}

String ans = "";
if (k != 2) {
try {

ans = Integer.valueOf(str, 2).toString();

} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "请输入数字", "输入错误",
JOptionPane.ERROR_MESSAGE);
}
JOptionPane.showMessageDialog(null, "结果是 "+ans, "结果",
JOptionPane.INFORMATION_MESSAGE);
}else{

}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫色残枫
2009-12-04 · TA获得超过102个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:0
展开全部
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HelloWorld {

public static void main(String[] args) {
while (true) {
System.out.println("请输入一个有效的二进制数字,输入2数字则结束程序:");
BufferedReader stdin = new BufferedReader(new InputStreamReader(
System.in));
try {

String str = stdin.readLine();
if (!isBinary(str)) {
/*
* 如果输入的数字为2结束程序
*/
if (str.trim().equals("2"))
break;
/*
* 如果不符合二进制判断,输出错误
*/
System.out.println("你输入的不是二进制!!");
}
if (isBinary(str)) {
/*
* 如果符合二进制判断,进行运算,并打印结果
*/
System.out.println("运算结果为:" + binaryToDecimal(str));
}

} catch (IOException E) {
System.out.println("发生I/O错误!!!");
}
}
}

/*
* 将二进制转换为十进制
*/
public static int binaryToDecimal(String b) {
int d = Integer.parseInt(b, 2);
return d;
}

/*
* 判断是否为二进制
*/
public static boolean isBinary(String b) {
Pattern pattern = Pattern.compile("[0-1]*");
Matcher isBinary = pattern.matcher(b);
if (!isBinary.matches())
return false;
else
return true;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lvxianling
2009-12-04 · TA获得超过639个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:192万
展开全部
import java.util.*;
public class Test {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
while(true){
System.out.println("请输入一个二进制数,输入2退出");
String s=sc.nextLine();
if("2".equals(s)) System.exit(0);
if(s.replaceAll("[^01]","").length()<s.length())
{
System.out.println("输入的数据有误!");
}else{
System.out.println(Integer.valueOf(s,2));
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式