在Java中创建ASCII艺术
在介绍Java类时,我假设创建一个带ASCII的姜饼人。这是第一个作业,所以到目前为止,这个类只涉及println stations。我正在OSX 64位上为Java开发人员使用EclipseIDE 这就是我现在拥有的:在Java中创建ASCII艺术,java,eclipse,macos,Java,Eclipse,Macos,在介绍Java类时,我假设创建一个带ASCII的姜饼人。这是第一个作业,所以到目前为止,这个类只涉及println stations。我正在OSX 64位上为Java开发人员使用EclipseIDE 这就是我现在拥有的: import acm.program.*; public class ASCIIArtProgram extends ConsoleProgram { public void run() { println(" _ "); p
import acm.program.*;
public class ASCIIArtProgram extends ConsoleProgram {
public void run() {
println(" _ ");
println(" _(")_ ");
println("(_ . _)");
println(" / : \ ");
println("(_/ \_)");
}
}
我在第7行出错的原因。它不断地将分号变为冒号
错误:
- 令牌“\u1”上的语法错误,AssignmentOperator无效
- 字符串文字未被双引号正确关闭
_
_(")_
(_ . _)
/ : \
(_/ \_)
我不知道我做错了什么。你在哪里
println(" _(")_ ");
^
字符串中的引号将终止该字符串。这就是引用字符串的工作方式。
如果要在字符串中打印引号,则需要
println(" _(\")_ ");
您还将发现,您还需要将打印的\
替换为\
,因为\
本身具有“转义下一个字符”的特殊含义
i、 e
你需要引用后面的斜杠 在字符串中使用
\
而不是\
因此:
当您想在字符串文字中使用字符时,必须转义/引用的所有字符的列表请仔细查看
println(" _(")_ ");
^---^---^
打开、关闭并打开引号,“\uquot(
是一个适当的字符串,)\uquot
对于编译器来说是垃圾,因为它不能解释任何有效的Java命令
您需要转义第二个引号,例如
println(" _(\")_ ");
这将使Java忽略它,并将它(字面上)视为字符串的一部分
\
也有特殊的含义,正如您所看到的,您还需要逃避它
println(" / : \\ ");
println("(_/ \\_)");
您必须转义要打印的特殊字符,因为编译器不知道您的“
是否意味着print”
或启动/停止字符串
。这同样适用于\
要转义字符,只需在其前面写一个\
。因此:
“
变成\”
\
变为\
您可以从Oracle中阅读有关字符和转义的更多信息。您需要阅读有关Java基础知识的更多信息。请参阅“转义字符”。请在这里查看此页面@MeenaO-签出此问答。
println(" _(\")_ ");
println(" / : \\ ");
println("(_/ \\_)");