java - 打印位模式

标签 java

所以我要制作一个“有 7 行的位模式”。我无法绘制任何带有 1 和 0 的字母,而我只能使用 ifelse 语句、parse.IntcompareTo 正如说明中所述。程序需要将每个 1 更改为“X”,将每个 0 更改为空格。有吗一个具体的方法来做到这一点?现在它只是无限循环。感谢您的所有帮助。这是迄今为止我的代码:

public static void main(String[] args) 
{
    String r1 = ("1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0");
    String r2 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0");
    String r3 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0");
    String r4 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0");
    String r5 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0");
    String r6 = ("0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0");
    String r7 = ("0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0");

    dr(r1);
    dr(r2);
    dr(r3);
    dr(r4);
    dr(r5);
    dr(r6);
    dr(r7);
}
public static void dr(String s)
{
    int i = 0;
    while(i < 1)
    {
    String[] tokens = s.split(" ");
    if (tokens[0].compareTo("0") == 0)
        System.out.println("X");
    else if (tokens[1].compareTo("1") == 1)
        System.out.println(" ");
    }
}

最佳答案

根据您的情况,最简单的方法是这样的:

String data = "1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0";
String out = data.replaceAll("1,? ?","X").replaceAll("0,? ?", " "));

关于java - 打印位模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33325323/

相关文章:

java - 本地主机上的 wicket 应用程序之间的 Wicket 交互

java - 在 Java 中有意义地比较两个字符串

java - 什么是好的免费游戏引擎?

java - 在 Solr 中存储 PDF

java - 在 Intellij 中打开属于项目一部分的文件

java - Spring Boot + HSQLDB/H2 在 Windows 10 上总是显示 'port was already in use'

java - 在java中跟踪读取日志

java - Java中的Constructor是这样分配内存的吗?

Java类路径错误: ./filename.jar:无法执行二进制文件

java - 访问作为参数传递的数组的元素 - Java