java - 在 Java 中打印字符串变量

标签 java variables io console

我在运行(看似简单的)代码时得到了一些奇怪的输出。这是我拥有的:

import java.util.Scanner;

public class TestApplication {
  public static void main(String[] args) {
    System.out.println("Enter a password: ");
    Scanner input = new Scanner(System.in);
    input.next();
    String s = input.toString();
    System.out.println(s);
  }
}

编译成功后得到的输出是:

Enter a password: 
hello
java.util.Scanner[delimiters=\p{javaWhitespace}+][position=5][match valid=true][need input=false][source closed=false][skipped=false][group separator=\,][decimal separator=\.][positive prefix=][negative prefix=\Q-\E][positive suffix=][negative suffix=][NaN string=\Q�\E][infinity string=\Q∞\E]

这有点奇怪。发生了什么以及如何打印 s 的值?

最佳答案

您将获得 Scanner 对象本身返回的 toString() 值,这不是您想要的,也不是您使用 Scanner 对象的方式。相反,您想要的是 Scanner 对象获得的数据。例如,

Scanner input = new Scanner(System.in);
String data = input.nextLine();
System.out.println(data);

请阅读有关如何使用它的教程,因为它会解释所有内容。

编辑
请看这里:Scanner tutorial

另请查看 Scanner API这将解释 Scanner 的方法和属性的一些细节。

关于java - 在 Java 中打印字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8250215/

相关文章:

java - 通过 Java ORM 批量删除/清除记录

java - 在jFreeChart直方图中配置两个范围轴

c++ - std 没有成员 'getline' ?

java - 什么是用于 Spring Boot 日志记录的默认 CONSOLE_LOG_PATTERN 以及在哪里可以找到它?

Java 字节码到 .dex 或 .apk 不起作用...该怎么办?

android - 如何将变量传递给库项目?

c - c中的 "struct <name_1> <name_2>"是什么?

variables - 变量的不同行为和函数的返回值

Java IO、输入流和输出流测试

c - 比 fgets 更快的 I/O 函数