将扫描仪字符转换为字节

时间:2018-02-28 14:47:32

标签: java type-conversion character byte

我在Java方面相对较新,并试图将用户输入转换为Hexidecimal。目前我正在尝试将其首先转换为字节,但是我收到有关一行的错误Byte getByte = Byte.parseByte(getCharacter);

整体代码如下所示,

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
    // write your code here

        Scanner scanner = new Scanner(System.in);
        String name = scanner.next();
        String binary = "", hexidecimal = "";

        ArrayList<Character> chars = new ArrayList<>();

        for(char c : name.toCharArray()) chars.add(c);

        for(char c : chars) {

            try {
                String getCharacter = Character.toString(c);
                Byte getByte = Byte.parseByte(getCharacter);
                String stringByte = Byte.toString(getByte);
                binary.concat(stringByte);
            } catch (NumberFormatException e) {
                e.printStackTrace();
            }

        }

        System.out.println(binary);

    }
}

我见过answers但是我不明白如何将char a = '\uffff'等内容合并到我的程序中。

1 个答案:

答案 0 :(得分:1)

如果您尝试将整个String转换为十六进制,最简单的方法是:

mutable.Map[String, Object]

如果您绝对需要接受char而不是String,我认为最简单的解决方案是只转换为String然后转换为字节数组:

val query = new com.mongodb.BasicDBObject(Map(
  "foo.bar" -> "value1"
  "bar.foo" -> "value2"
))
val record = collection.find(query)....