将字符串从命令行转换为二进制-Java
我试图将一个字符串转换为命令行中输入的数字,然后通过一个方法将该字符串转换为二进制。然后,将string方法返回main,并将输出显示为代表二进制的字符串。我收到一些错误消息,非常感谢您的帮助:将字符串从命令行转换为二进制-Java,java,Java,我试图将一个字符串转换为命令行中输入的数字,然后通过一个方法将该字符串转换为二进制。然后,将string方法返回main,并将输出显示为代表二进制的字符串。我收到一些错误消息,非常感谢您的帮助: Exception in thread "main" java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatExcep
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at Lab04.decimalTobinary(Lab04.java:20)
at Lab04.main(Lab04.java:13)
import java.util.Scanner;
import java.lang.NumberFormatException;
public class Lab04
{
public static void main(String[] args) {
String d_s = new String(); // stores command line input argument
args[0] = d_s;
String b_s = new String();
b_s = decimalTobinary(d_s); // decimalString from command argument
System.out.print(b_s);
}
public static String decimalTobinary(String decimal) {
int n = Integer.parseInt(decimal);
String s = "";
while (n > 0)
{
s = ( (n % 2 ) == 0 ? "0" : "1") +s;
n = n / 2;
}
return s;
}
}
您以错误的方式使用赋值运算符:目的是将
args[0]
赋值给dus
,而不是相反
也不需要将变量初始化为“伪字符串”-您可以直接指定“正确”的值
main
将变成:
public static void main(String[] args) {
String d_s = args[0]; // stores command line input argument
String b_s = decimalTobinary(d_s); // decimalString from command argument
System.out.print(b_s);
}
亚历克斯,谢谢你帮我。我非常感激。V/R,奥斯汀