JAVA 循环练习(while,for)

1.求出1-100之间偶数和。

public void test2()
    {
        //输出0-100偶数并且求和
        int sum=0;
        for(int num=0;num<=100;num++)
        {
            if(num%2==0)
            {
            System.out.println(num);
            sum+=num;
            }
        }
        System.out.println(sum);
    }

2.

需求说明:
循环输入某同学专业阶段考试的5门课成绩,并计算平均分
思路分析:
选择循环语句
for循环步骤
分析循环变量、循环条件和循环体
代码实现
确定循环退出条件
public void test2()
    {
        
        int sum=0;
        Scanner s=new Scanner(System.in);
        for(int i=0;i<5;i++)
        {
            System.out.print("请你输入第"+(i+1)+"门课程成绩");
            int grade=s.nextInt();
            sum+=grade;
        }
        double average=sum/5;
        System.out.println("\n你的5门成绩平均为"+average);
    }

3.

训练要点:
for循环结构
需求说明:
商场对顾客的年龄层次进行调查
计算各年龄层次的顾客比例
public void test3()
    {
        Scanner s =new Scanner(System.in);
        int count=0;
        for(int i=1;i<=10;i++)
        {
            System.out.println("请输入第"+i+"个顾客的年纪:");
            int age=s.nextInt();
            if(age<30)
            {
                count++;
                System.out.println("当前小于30的有"+count);
            }
            
        }
        int rate=count*10;
        System.out.println("30岁以下的人有"+rate+"%");
        System.out.println("30岁以下的人有"+count);
        System.out.println("30岁以上的人有"+(100-rate)+"%");
        
    }

4.

打印5行小星星,每一行5个

public void test4()
    {
        //打印矩形小星星
        System.out.println("打印矩形");
        for(int i=0;i<5;i++)
        {
            for(int j=0;j<5;j++)
            {
            System.out.print("*");
        //if(j==4){    
            //System.out.println();
        //}
            }
            System.out.println();
        }
        
    }

5,

训练要点:
循环嵌套及循环条件的设定
使用Scanner对象接收用户输入
需求说明
从控制台输入直角三角形的高度
(行数)
每行 * 的数目依次为1、3、5、7…
public void test5()
    {
        
        Scanner s=new Scanner(System.in);
        System.out.print("输入您要打印的行数:");
        int num=s.nextInt();
        for(int i=0;i<num;i++)
        {
            for(int j=0;j<2*i+1;j++)
            {
            System.out.print("*");
            }
            System.out.println();
        }
    }

6,

需求说明:
从控制台输入直角三角形的高度(行数)
每行*的数目从下至上依次为5、4、3、2…
 
public void test6()
    {
        //题目6
        System.out.println("请输入打印的行数");
        int num=new Scanner(System.in).nextInt();
        
        for(int i=0;i<num;i++)
        {
            for(int j=0;j<num-i;j++)
            {
                System.out.print("*");
            }
            System.out.println();
        }
    }

7,

请编写程序,求出1-100之间奇数和,实现计算“1+3+5+7+…+99”的值。
提示:
a. 用循环语句实现自然数1一99的遍历
b. 在遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则不加

public void test7()
    {
        //题目10
        int sum=0;
        for(int num=1;num<100;num++)
        {
            if(num%2==1)
            {
            System.out.println(num);
            sum+=num;
            }
        }
        System.out.println("sum="+sum);
    }

8,

求出1-100之间偶数和。

public void test8()
    {
        int sum=0;
        for(int num=0;num<=100;num+=2)
        {
            sum+=num;
        }
        System.out.println("1-100偶数和是"+sum);
    }

9,

手动输入两个数字m和n,运算求出m~n之间所有偶数的和。

public void test9()
    {
        Scanner s=new Scanner(System.in);
        System.out.println("请输入两个数字,计算其间的偶数和:");
        int m=s.nextInt();
        int n=s.nextInt();
        int temp=0,sum=0;
        if(m>n)
        {
            temp=m;
            m=n;
            n=temp;
        }
        for(int i=m;i<=n;i++)
        {
            if(i%2==0)
            {
                sum+=i;
            }
        }
        System.out.println("其中偶数和为"+sum);
    }
    

10,

请统计1-1000之间同时满足如下条件的数据有多少个
•   对3整除余2
•   对5整除余3
•   对7整除余2

public void test10()
    {
        int num=0;
        for(int i=1;i<=1000;i++)
        {
            if((i%3==2&i%5==3)&i%7==2)
                num++;
        }
        System.out.println("满足条件的有"+num+"个");
    }

11,

实现登陆功能:如果用户名输入“tom”,密码“123”,提示登陆成功,否则提示输“入错误,请重新输入!您还有XX次机会”(其中xx要明确打印出数值)。 三次输入错误后将不可以再输入,并提示“对不起,你的账号将被锁定”。

public void test11()
    {
        
        Scanner s=new Scanner(System.in);
        for(int i=0;i<3;i++)
        {
            System.out.print("输入名字");
            String name=s.next();
            System.out.print("输入密码");
            int key=s.nextInt();
            
        if("tom".equals(name)&key==123)
            System.out.println("登陆成功");
        else
            System.out.println("登陆失败,你还有"+(3-i)+"次机会");
            
        if(i==2)
            System.out.println("对不起你的账号被锁定");
        }
        
    }

12,

打印九九乘法表

public void test12()
    {
        for(int i=1;i<=9;i++)
        {
            for(int j=1;j<=i;j++)
            {
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
        }
    }

13,

小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。(提示:用break)

public void test13()
    {
        double lingqian=0;
        for(int i=1;;i++)
        {
            lingqian+=2.5;
            if(i%5==0)
            {
                lingqian-=6;
            }
            //tian=i;
            if(lingqian==100)
            {
                System.out.println("第"+(i-1)+"天");
                break;
            }
        }
    }
原文地址:https://www.cnblogs.com/lumc5/p/15094071.html