可以了,代码共改动三处
1 打印语句里得“y”和“num”的引号去掉
2 第10行 for ( int num = y ; num >=1 ; num-- ) ; int num = x;
3.末尾处15行加 System.out.println(); 起换行作用。
public class Demo
{
public static void main(String[] args)
{
for ( int x = 1; x <=6 ; x++ )
{
for ( int y = 1; y<x ; y++ )
{
System.out.print(y);
}
for ( int num = x ; num >=1 ; num-- )
{
System.out.print(num);
}
System.out.println();
}
}
}
复制代码
作者: 伊文龙 时间: 2012-4-16 21:36
public class Test {
public static void main(String[] args)
{
for ( int x = 1; x <=6 ; x++ )
{
int y=1;
for (; y<x ; y++ )
{
System.out.print(y);
}
for ( int num = y ; num >=1 ; num-- )
{
System.out.print(num);
}
System.out.println();
}
}
}
复制代码
你的问题主要由三个:
1. 最明显的问题,就是你System.out.println("y");/System.out.println("num");里面的引号,不知道是你基础的问题,还是手误。
2. 你的格式控制不对
3. 你没搞清楚变量y 的作用域作者: 黑马—王宁 时间: 2012-4-16 21:55
for ( int num = y ; num >=1 ; num-- )
这里的y变量未定义,会报错。 作者: 王怡然 时间: 2012-4-16 23:30
我想说那会儿急的很,真的是手误了,呵呵,谢谢解答~作者: 张超超 时间: 2012-4-17 11:13
你定义的两个for循环里面的x和y都是局部变量
第一个for里定义的y只能在
for ( int y = 1; y<x ; y++ )
{
System.out.println("y");
}
要分清他们的有效范围作者: 韩新凯 时间: 2012-4-17 11:51
class RuntimeDemo {
public static void main(String[] args)
{
for (int x = 1; x <= 6; x++)
{
for (int y = 1; y < x; y++)
{
System.out.print(y);
}
for (int num = x; num >= 1; num--)
{
System.out.print(num);
}
System.out.println();
}
}
}
1.把 for ( int num = y ; num >=1 ; num-- )里面的y改成x;
2.把System.out.println("y");改成System.out.print(y);
3.把System.out.println("num");改成System.out.print(num);
4.在第14行的}前添加一句 System.out.println();
这样应该就行了,可以参考我前面的代码。