注册 登录
编程论坛 JAVA论坛

Java循环镶嵌问题,不知道哪里出问题了

任楚贤 发布于 2015-12-10 16:33, 2796 次点击
/*
 打印出
 1
 2 3
 4 5 6
 7 8 9 10
 11 12 13 14 15
思路:1,阵列有很多行,很多列,因此要使用循环镶嵌语句
      2,定义i控制行数,定义j控制行里的个数,定义c输出数字;
*/
class  haha
{
    public static void main(String[] args)
    {  int i=1;
       int j=1;//定义列的个数
       int z=1;//定义z用于记录行里的数字个数
       int c=1;//输出数字
       while (i<=5)//行数不超过5行                  
       {
           while (j<=z)
           {
                 System.out.print(c);
                 c++;
                 j++;
                 
           }
          z++;
           System.out.println();
        i++;//行数自加
       }
        
        
    }
}
只有本站会员才能查看附件,请 登录


10 回复
#2
newdos2015-12-10 19:38
    int i = 1, j = 1, c = 1;

    while(i <= 5)
    {
        while(j <= i)
        {
            System.out.print(c++);
            j++;
        }
        j = 1;
        i++;
        System.out.println();
    }
#3
侯佳瑜2015-12-10 20:29
public class Test{
    private int z=1;//声明并赋值要输出的数据
    public void test1(){
        for(int i=0;i<=5;i++){//行数
            for(int j=0;j<i;j++){//列数
                System.out.print(z+" ");//记得加空格,不然输出挤一块去了
                z++;//数据没输出一次自动加1
            }
            System.out.println();//换行
        }
    }
    public static void main(String[] args){
        Test t1=new Test();//创建Test对象
        t1.test1();//使用对象调用test1方法,输出
    }
}
#4
侯佳瑜2015-12-10 20:31
只有本站会员才能查看附件,请 登录

输出结果
#5
林月儿2015-12-10 21:15
程序代码:
import javax.swing.JOptionPane;

public class Test{
    static int num=1;
    public static void main(String[] args){
        int num=getNum();
        test(num);
    }
    public static void test(int i)
    {
        if(i>0)
        {
            test(i-1);
            test(0,i);
            System.out.println();
        }
    }
    public static void test(int i,int n)
    {
        if(i<n)
        {
            System.out.print(num+++"\t");
            test(i+1,n);
        }
    }
    public static int getNum()
    {
        int num=0;
        try
        {
            num=Integer.parseInt(JOptionPane.showInputDialog("请输入一个正整数"));
        }
        catch(Exception e)
        {
            JOptionPane.showMessageDialog(null, "输入数据有误,请重新输入!");
            return getNum();
        }
        return num;
    }
}
#6
紫月一殇雪2015-12-10 22:56
也是某鸟的学员?
#7
任楚贤2015-12-11 10:19
谢谢各位亲了,问题已经解决了
#8
林月儿2015-12-11 20:39
回复 6楼 紫月一殇雪
你说的是培训机构?人丑家贫上不起。。。
#9
紫月一殇雪2015-12-11 21:54
回复 8楼 林月儿
哈哈,人生要有追求,钱算什么,丑算什么!
等我学会用电脑控制挖掘机炒菜后,吊丝逆袭指日可待!!!
#10
峰无刑2015-12-11 23:00
因为你在内层循环的时候没有初始化 j 的值
像这种内层循环用for语句比较适合
#11
limingcong012015-12-22 10:03
美女啊
1