Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用两种方法打印星号?_Java_Methods - Fatal编程技术网

Java 如何使用两种方法打印星号?

Java 如何使用两种方法打印星号?,java,methods,Java,Methods,我的程序要求输入一个数字,将其转换成二进制,加上零直到8个字符长,然后我需要它用星号打印出二进制是什么,空格应为5,长度为5,即: 零是第一行的五个星号;一个星号,三个空格,一个星号表示第二行、第三行和第四行;第五行还有五个星号。 一个是两个空格和一个星号表示所有五行。 我一辈子都搞不懂这个。我不允许在这个项目中使用数组。 这是家庭作业,我不是要求有人为我编码,只是一些关于我如何做的建议。我没有主意了。先谢谢你 下面是我的代码: public static void getChara(S

我的程序要求输入一个数字,将其转换成二进制,加上零直到8个字符长,然后我需要它用星号打印出二进制是什么,空格应为5,长度为5,即: 零是第一行的五个星号;一个星号,三个空格,一个星号表示第二行、第三行和第四行;第五行还有五个星号。 一个是两个空格和一个星号表示所有五行。 我一辈子都搞不懂这个。我不允许在这个项目中使用数组。 这是家庭作业,我不是要求有人为我编码,只是一些关于我如何做的建议。我没有主意了。先谢谢你 下面是我的代码:

    public static void getChara(String o){
      char e=0;
      int g=0;
      int h=0;
      for (g=0;g<5;g++){
          for (h=0;h<8;h++){
            e = o.charAt(h);  
             if ((g == 1) || (g == 5)){
            if(h == 0)
                printDigit(g,h);
            else if(h==1)
                printDigit(g,h);}
        else {
            if(h == 0)    
                printDigit(g,h);
            else if(h==1)
                printDigit(g,h);   }
         }
      }
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    System.out.println();
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    System.out.println();
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    System.out.println();
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    System.out.println();
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    printDigit(g,h); printDigit(g,h); printDigit(g,h); printDigit(g,h);
    System.out.println();

    }

    public static void printDigit(int g, int h){

        if ((g == 1) || (g == 5)){
            if(h == 0)
                System.out.print("***** ");
            else if(h==1)
                System.out.print("  *   ");}
        else {
            if(h == 0)    
                System.out.print("*   * ");
            else if(h==1)
                System.out.print("  *   ");   } 

    }
公共静态void getChara(字符串o){
chare=0;
int g=0;
int h=0;

对于(g=0;g你有点过度思考了
getChara
printDigit
完成了所有打印星形图案的工作,因此你不需要在
getChara
中复制该逻辑。所有
getChara
需要做的就是告诉
printDigit
以正确的顺序输出正确数字的正确行,有些情况下诸如此类:

public static void getChara(String o){
    for (int row=0; row < 5; ++row){
        for (int i=0; i < o.length(); ++i){
            int digit = o.charAt(i) == '0' ? 0 : 1;
            printDigit(row, digit);
        }
        System.out.println();
    }
}
公共静态void getChara(字符串o){
对于(int行=0;行<5;++行){
对于(int i=0;i