[英]how do I use two methods to print out asterisks?
我的程序要求输入一个数字,将其转换为二进制,添加零直到 8 个字符长,然后我需要它以星号打印出二进制是什么,空格应该是 5 跨和 5 长 IE:零会是五个星号的第一行; 一个星号,三个空格,一个星号表示第二行、第三行和第四行; 然后是第五行的另外五个星号。 一个 1 将是两个空格和一个星号,用于所有五行。 我一辈子都想不出这个。我不允许在这个项目中使用 arrays。 这是家庭作业,我不是要求有人为我编写代码,只是一些关于我如何做到这一点的建议。 我没主意了。 提前谢谢你下面是我的代码:
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(" * "); }
}
你有点想太多getChara
了。 printDigit
完成了打印星形图案的所有工作,因此您无需在getChara
中复制该逻辑。 所有getChara
需要做的就是告诉printDigit
到 output 正确数字的正确行以正确的顺序,如下所示:
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();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.