[英]how to write a program to convert a binary number to decimal number without using lang class?
这是我的代码,我使用lang类。 但是我想写一个不包含lang类的类似程序。 请帮我。
import java.lang.*;
import java.io.*;
public class DecimalToBinary {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter a Binary number");
String str=br.readLine();
long num=Long.parseLong(str);
long rem;
while(num>0){
rem=num%10;
num=num/10;
if(rem!=0&&rem!=1){
System.out.println("This is not a binary number,Please enter again");
}
}
int i=Integer.parseInt(str,2);
System.out.println("Decimal:"+i);
}
}
如何不使用lang类进行相同的转换? 请帮我!!
思考此问题的一种方法是将问题分为两部分。
ps您添加到问题中的“班级”标记是指Java / C#“班级”,而不是功课。 我认为“作业”是正确的标记。
您不需要导入java.lang。*
这是编辑后的代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class DecimalToBinary {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter a Binary number");
String str = br.readLine();
long num = Long.parseLong(str);
long rem;
while (num > 0) {
rem = num % 10;
num = num / 10;
if (rem != 0 && rem != 1) {
System.out.println("This is not a binary number,Please enter again");
}
}
int i = Integer.parseInt(str, 2);
System.out.println("Decimal:" + i);
}
}
我建议您浏览从索引N-1到0的输入字符,并检查当前字符是否有效,如果无效,则抛出异常停止。 如果它是有效的,则您可以计算“ 2 pow(二进制数字的当前位置,例如(N-1-i))”,然后将其添加到结果中。 由于这可能是家庭作业,因此我只能给您这些不完整的提示。 您应该考虑一下,其余的解决方案取决于您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.