<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="12cm" height="12cm" viewBox="0 0 1000 1000"
xmlns="http://www.w3.org/2000/svg" version="1.1">
<line x1="100" y1="100" x2="500" y2="200" stroke="red" stroke-width="5" />
<circle cx="200" cy="100" r="50" stroke="black" stroke-width="3" />
</svg>
我想在java中打印这些svg代码。我知道我应该使用print方法来执行此操作,但每次我尝试编译java程序时都会遇到一堆错误。请帮我。这是我的代码:
class svg{
puclic static void main(String[] args){
System.out.print("
<?xml version=\"1.0\" standalone=\"no\"?>
<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"
\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">
<svg width=\"12cm\" height=\"12cm\" viewBox=\"0 0 1000 1000\"
xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">
<line x1=\"100\" y1=\"100\" x2=\"500\" y2=\"200\" stroke=\"red\" stroke-width=\"5\" />
<circle cx=\"200\" cy=\"100\" r=\"50\" stroke=\"black\" stroke-width=\"3\" />
</svg>
")
}
}
答案 0 :(得分:2)
您不能在String
范围内使用换行符。如果您想保留它们,则必须使用\n
另外,你拼错了public
。
最重要的是,你最后忘记了;
。
这应该有效:
public static void main(String[] args){
System.out.print(
"<?xml version=\"1.0\" standalone=\"no\"?>\n" +
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n" +
"\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n" +
"<svg width=\"12cm\" height=\"12cm\" viewBox=\"0 0 1000 1000\"\n" +
"xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">\n" +
"<line x1=\"100\" y1=\"100\" x2=\"500\" y2=\"200\" stroke=\"red\" stroke-width=\"5\" />\n" +
"<circle cx=\"200\" cy=\"100\" r=\"50\" stroke=\"black\" stroke-width=\"3\" />\n" +
"</svg>");
}
答案 1 :(得分:1)
您应该看看如何为字符串添加换行符。这是由+
完成的。另外,不要忘记用"
包围字符串。
如果您想将任意测试格式化为Java转义字符串,那么我建议您查看一些在线工具,例如Free Online Java or .Net Escape Tool(您可以通过Google找到它们)。
这个将转义您的XML,使其如下所示。然后程序将编译并打印到控制台上。
package so;
public class StringFormatter {
public static void main(String[] args) {
System.out.println(
"<?xml version=\"1.0\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \r\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<svg width=\"12cm\" height=\"12cm\" viewBox=\"0 0 1000 1000\"\r\n xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">\r\n <line x1=\"100\" y1=\"100\" x2=\"500\" y2=\"200\" stroke=\"red\" stroke-width=\"5\" />\r\n <circle cx=\"200\" cy=\"100\" r=\"50\" stroke=\"black\" stroke-width=\"3\" /> \r\n</svg>"
);
}
}
答案 2 :(得分:0)
1将puclic
更改为public
2在System.out.println语句的末尾添加一个分号
3如果想要换行,请使用行终止符
class svg {
public static void main(String[] args){
System.out.print("<?xml version=\"1.0\" standalone=\"no\"?>\n" +
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n" +
"<svg width=\"12cm\" height=\"12cm\" viewBox=\"0 0 1000 1000\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">\n" +
"<line x1=\"100\" y1=\"100\" x2=\"500\" y2=\"200\" stroke=\"red\" stroke-width=\"5\" />\n" +
"<circle cx=\"200\" cy=\"100\" r=\"50\" stroke=\"black\" stroke-width=\"3\" /></svg>");
}
}
答案 3 :(得分:0)
如果要在多行中编写字符串代码,则需要使用“+”连接符号。或者你可以在一行中编写整个代码。
class svg{
public static void main(String[] args){
System.out.print("" +
" <?xml version=\"1.0\" standalone=\"no\"?>" +
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" " +
"\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">" +
"<svg width=\"12cm\" height=\"12cm\" viewBox=\"0 0 1000 1000\"" +
"xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">" +
"<line x1=\"100\" y1=\"100\" x2=\"500\" y2=\"200\" stroke=\"red\" stroke-width=\"5\" />" +
"<circle cx=\"200\" cy=\"100\" r=\"50\" stroke=\"black\" stroke-width=\"3\" /> " +
"</svg>");
}
}
上面的代码会将整个字符串打印在一行中。如果你想要添加到不同的行,你可以为每一行使用不同的print语句或在字符串中添加\ n。