Java 如何获取ascii值";下一行“/&引用;输入“;来自用户

Java 如何获取ascii值";下一行“/&引用;输入“;来自用户,java,Java,我需要得到输入的每个字符的ASCII值。我有字符和空格,但似乎无法获取“next line”/enter的值 我想用一个if语句来表示if(字母=='\n') (ascii=10)但它是1。不工作和2。它是手动强制输入值,我正试图弄清楚如何自动读取和分配该值 Scanner scan = new Scanner(System.in); char letter = scan.nextLine().charAt(0); int ascii = (i

我需要得到输入的每个字符的ASCII值。我有字符和空格,但似乎无法获取“next line”/enter的值

我想用一个if语句来表示if(字母=='\n') (ascii=10)但它是1。不工作和2。它是手动强制输入值,我正试图弄清楚如何自动读取和分配该值

        Scanner scan = new Scanner(System.in);

        char letter = scan.nextLine().charAt(0);

        int ascii = (int) letter;

        System.out.println(ascii);

        scan.close();

新字符的ASCII值为10(0x0A)。回车的值为13(0x0D)


扫描仪在检测到行尾后会吃掉行尾。您可以将字符输入到行尾,但包括行尾

此外,您不应使用
char
跟踪单个字母。作为一个简单的16位值,它只能表示Unicode基本平面上的字符,不到Unicode中定义的137000个字符的一半


使用基于整数的方法,例如和
String::codePoints

其他人发布的内容和我发布的内容更接近我要查找的内容。但是,当要求用户输入字符时,如果他们只按enter键(新行),它仍然不会显示值。这是为什么?@James,请看user207421添加到原始帖子中的评论。这就是我展示这个例子的原因。您无法从该方法中获取新行字符,因为它在您获取它之前已被消耗。另外,如果你否决了我的答案,考虑一下你的问题陈述:“我需要得到每个字符的ASCII值。”因此,否决是不恰当的,我没有否决任何东西。我只是在问这个问题,因为我正在努力理解。很抱歉你被否决了,但由于我的排名较低,我无法对回复进行上下投票。你没有
Scanner.nextLine()
删除行终止符,BufferedReader.readLine()也会删除行终止符。你永远看不到它。你为什么要删除你的
工作项
问题?
public class HelloWorld {
  public static void main(String[] args) {
    String hello = "Hello World!\n";
    System.out.print(hello);

    int letter = (int)hello.charAt(hello.length()-1);
    System.out.println(letter);
  }
}