Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串从命令行转换为二进制-Java_Java - Fatal编程技术网

将字符串从命令行转换为二进制-Java

将字符串从命令行转换为二进制-Java,java,Java,我试图将一个字符串转换为命令行中输入的数字,然后通过一个方法将该字符串转换为二进制。然后,将string方法返回main,并将输出显示为代表二进制的字符串。我收到一些错误消息,非常感谢您的帮助: Exception in thread "main" java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatExcep

我试图将一个字符串转换为命令行中输入的数字,然后通过一个方法将该字符串转换为二进制。然后,将string方法返回main,并将输出显示为代表二进制的字符串。我收到一些错误消息,非常感谢您的帮助:

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,奥斯汀