当前位置: 首页 > 知识库问答 >
问题:

Java打印字符串C等效[复制]

呼延凌
2023-03-14

java中C代码的等价物是什么:

#define printVar(var) cout<<#var<<"="<<var;

打印字符串值及其名称。

共有3个答案

巫马越彬
2023-03-14

在Java中,没有预处理器指令,所以在这种情况下,除了使用IDE的快捷方式(通常是“soutv-tab”,例如在InteliJ IDEA和Netbeans中,这是有效的)之外,没有其他选项。因此,您将获得默认模板的输出:

System.out.println("var = " + var);

或者您可以实现这样做的通用方法:

void printVariable (Object variable, String name) {
    System.out.println (name + " = " + variable);
}

并以这种方式运行它:

printVariable (var, "var");
printVariable (anotherVar, "anotherVar");

更新:根据这个答案,在Java8中可能有一种通过反射(在某些情况下)实现的方法

万嘉石
2023-03-14

Java没有标准的预处理器来实现这一点。一般来说,这是件好事。在这种情况下,您可以使用自己的。

我建议您使用IDE中的调试器来调试程序,这样就不需要编写代码将此类调试语句转储到控制台。注意:在Java中,让代码始终可调试几乎不会带来什么损失,而且大多数代码都带有debug功能。

如果断点一行,你可以看到局部变量的所有值以及它们指向的任何对象。如果你愿意,你也可以沿着堆栈查看所有调用者。

柴英博
2023-03-14

您可以打印变量名,因为Java 8版本:Java反射:如何获取变量名?

您可以使用如下内容打印值:System.out.println(String.valueOf(var));

通过Java反射,您可以从变量中获得更多信息,如类名、包名、类属性等...

 类似资料:
  • 问题内容: 快速提问。是否有等效于@的Java字符串: 例如,我可以使用C#进行处理,并使其在处理时忽略转义字符,而不必这样做。是否有Java等效项? 嗯:stackoverflow正在向我逃脱..大声笑。第二个示例应为: c :(双反斜杠)文件夹(双反斜杠)aFile 问题答案: 没有。转义/外部化字符串是您唯一的选择。

  • 如果我有一个字符串“sssaaadddccc”,我如何只打印“sadc”。可以使用SubString吗?还是必须使用charAt()?

  • 问题内容: 我正在编写一个程序,该程序将以字符串形式输出唯一字符(通过扫描仪输入)。我创建了一个方法来尝试实现此目的,但我一直在获取不重复的字符,而不是字符串中唯一的一个(或多个)字符。我只想要唯一的字母。 这是我的代码: 这是上面代码的示例输出: 预期的输出将是: 问题答案: 根据所需的输出,当以后重复时,必须替换最初已经添加的字符,因此:

  • 我正在开发一个文本编辑器,我的下一个目标是在打印机上打印书面文本(而不是sysout)。 我试了很多次,它起作用了,但是换行符被忽略了。 我创建了一个新的图形并设置了字体。然后我把写在编辑器窗口中的文本。iPosX 你们有什么想法,我可以打印整个字符串考虑到行中断? 提前感谢!

  • 我被一些有趣的任务困住了。我有3个字符串(hello,heavy&word)。需要计算每一个世界的总和并打印最大的世界和总和。用于计算-a=1,z=26。所以hello=50,heavy=61&word=60。最大的字符串是“Heavy”,我需要像“Heavy,61”那样打印出来。我找到了从一个字符串计算字符的代码:

  • #include <stdio.h> #include <wchar.h> int main(void) { char str1[] = "abcd"; wchar_t str2[] = L"abcd"; return 0; } 技巧 用gdb调试程序时,可以使用“x/s”命令打印ASCII字符串。以上面程序为例: Temporary brea