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;
            }
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM