以下一段代码给了我一条很长的鱼:
<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< (....up to 43 fish )
{
for (int i=0; i<10; i++)
{
for (int j=0; j<10; j++)
{
if ( (i*10+j) < 43)
{
System.out.print(" <#><");
}
else{
System.out.print(" ");
}
我正在试图弄清楚如何将鱼限制在10 x 10的范围内,所以看起来更像是这样:
<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#><
<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#><
<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#><
<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#><
<#>< <#>< <#>< <#><
答案 0 :(得分:3)
for (int i=0; i<43; i++)
{
if (i > 0 && i%10 == 0)
System.out.println();
System.out.print(" <#><");
}
i % 10
是模运算。它将i
与10
分开并返回除法的其余部分。示例:如果i
为17
,那么结果将为7
,因为17 / 10 = 1
包含其余7
。如果0
为i
,则其余为0,10,20,30,40
。
和i > 0
是一项额外检查,可防止在i
仍为0
且0 / 10 = rest 0
(如果所有必须为&&
,您可以将多个条件与true
放在一起。
如果一个必须为||
,则可以将多个条件与true
放在一起。 )
答案 1 :(得分:1)
在外部循环的末尾添加System.out.println();
。
答案 2 :(得分:1)
您缺少的是System.out.println。 println指的是打印线。打印后,某些光标移动到下一行。
for (int i=0; i<10; i++) {
for (int j=0; j<10; j++) {
if ( (i*10+j) < 43) {
System.out.print(" <#><");
}
else {
System.out.println(" ");
}
}
}
答案 3 :(得分:1)
试试这个......
public class hi {
public static void main(String[] args){
int i=0;
while (i<43){
for (int j=0 ; j<10 ; j++){
System.out.print(" <#><");
}
System.out.println();
i++;
}
}
}
答案 4 :(得分:1)
在相同的代码中,以下修改将产生预期的输出。
for (int i=0; i<10; i++)
{
for (int j=0; j<10; j++)
{
if ( (i*10+j) < 43)
{
System.out.print(" <#><");
}
else
{
System.exit(0);//if fishes exceeds 47 Exit
}
}
System.out.println();//for new line after 10 fishes
}