Java 循环语句练习题(1)

1、for循环输出1 到100

package com.hz.loop;

/**
 * 1、for循环输出1 到100
 * @author ztw
 *
 */
public class Practice01 {

public static void main(String[] args) {

    for(int i=1;i<=100;i++){

        System.out.println(i);

    }
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

2、while循环输出1-100

package com.hz.loop;

/**
 * 2、while循环输出1-100
 * @author ztw
 *
 */
public class Practice02 {

public static void main(String[] args) {
    int i=1;
    while(i<=100){
        System.out.println(i);
        i++;
    }
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

3、循环输出以下结果: 
2*5=10 
4*10=40 
6*15=90 
…… 
?*100=?

package com.hz.loop;

/**
 * 3、循环输出以下结果:
 *  2*5=10
 *  4*10=40
 *  6*15=90
 *  ……
 *  ?*100=?
 * @author ztw
 *
 */
public class Practice03 {

public static void main(String[] args) {
    /*
     * 可以看做是乘数和被乘数以每次递增2和5的一种规则变化
     */
    int a=2;
    int b=5;
    do{
    System.out.println(a+" * "+b+" = "+(a*b));
    a=a+2;
    b=b+5;
    }
    while(b<=100);

}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

4、要求用户输入一个0到2之间的整数, 
如果用户输入0输出“你出的是石头”, 
如果用户输入1就输出“你出的是剪刀”, 
如果用户输入的是2就输出“你出的是布”, 
然后再问是否要继续出拳, 
如果回答“y”就重复以上过程, 
否则结束程序。

package com.hz.loop;

import java.util.Scanner;

/**
 * 4、要求用户输入一个0到2之间的整数,
 * 如果用户输入0输出“你出的是石头”,
 * 如果用户输入1就输出“你出的是剪刀”,
 * 如果用户输入的是2就输出“你出的是布”,
 * 然后再问是否要继续出拳,
 * 如果回答“y”就重复以上过程,否则结束程序。
 * @author ztw
 *
 */
public class Practice04 {


public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    System.out.println("输入一个0到2之间的整数:");
    int number = sc.nextInt();

    for(;;){
    if(number>=0&&number<=2){
        //定义一个switch语句判断输出对应的值
        switch(number){
        case 0:
            System.out.println("你出的是石头");
            break;
        case 1:
            System.out.println("你出的是剪刀");
            break;
        case 2:
            System.out.println("你出的是布");
            break;
        default:

            break;
        }
        System.out.println("然后再问是否要继续出拳?(y/?)");
        String choice = sc.next();
        if(choice.equals("y")||choice.equals("Y")){

        }else{
            break;
        }

    }else{
        System.out.println("请输入一个0到2之间的整数!");
    }

    }


}
}
  • import java.util.Scanner;

    import javax.swing.text.html.CSS;

    public class testt {

    public static void main(String[] args) {
    int number;
    String choice = "";
    Scanner sc = new Scanner(System.in);
    float x, y,result;
    do {
    System.out.print("请输入第一个数:");
    x=sc.nextFloat();
    System.out.print("请输入第二个数:");
    y=sc.nextFloat();
    System.out.println("请输入每个选项前对应的数字");
    System.out.println("1.加法");
    System.out.println("2.减法");
    System.out.println("3.乘法");
    System.out.println("4.除法");
    number = sc.nextInt();
    if (number >= 1 && number < 5) {
    switch (number) {
    case 1:
    result=x+y;
    System.out.println(x+" + "+ y+" = "+result);
    break;
    case 2:
    result=x-y;
    System.out.println(x+" - "+ y+" = "+result);
    break;
    case 3:
    result=x*y;
    System.out.println(x+" * "+ y+" = "+result);
    break;
    case 4:
    if(y==0)
    {
    System.out.println("除数不能为0");
    }
    else {
    result=x/y;
    System.out.println(x+" / "+ y+" = "+result);
    }
    break;
    default:
    break;
    }
    } else {
    System.out.print("请输入正确的数字\n");
    }
    System.out.print("如果想继续请输入y:");
    choice = sc.next();

    } while (choice.equals("y") || choice.equals("Y"));

    System.out.print("已退出");
    }
    }

5、让计算机随机产生10个0到2之间的数, 
如果产生的是0就输出“生成了一只白猪,我好怕怕”, 
如果产生的是1就输出“生成了一只黑猪,我喜欢” 
如果产生的是2就输出“生成了一只红猪,有下酒菜了”。

package com.hz.loop;

import java.util.Random;

/**
 * 5、让计算机随机产生10个0到2之间的数,
 * 如果产生的是0就输出“生成了一只白猪,我好怕怕”,
 * 如果产生的是1就输出“生成了一只黑猪,我喜欢”
 * 如果产生的是2就输出“生成了一只红猪,有下酒菜了”。
 * @author ztw
 *
 */
public class Practice05 {

public static void main(String[] args) {
    Random rd = new Random();
    //让计算机随机产生10个0到2之间的数
    for(int i=0;i<10;i++){
         int number = rd.nextInt(2);
         switch(number){
         case 0:
             System.out.println("生成了一只白猪,我好怕怕");
             break;
         case 1:
             System.out.println("生成了一只黑猪,我喜欢");
             break;
         case 2:
             System.out.println("生成了一只红猪,有下酒菜了");
             break;
             default:
                 break;
         }
    }
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

6、计算2000年1月1日到2008年1月1日相距多少天。(注意闰年)

package com.hz.loop;

/**
 * 
 * 6、计算2000年1月1日到2008年1月1日相距多少天。(注意闰年)
 * 
 * @author ztw
 *
 */
public class Practice06 {

public static void main(String[] args) {
    int sum = 0;
    int day;
    for(int i=2000;i<2008;i++){
        //判断该年份是否是闰年
        if((i%4==0&&i%100!=0)||(i%400==0)){
            day=366;
        }else{
            day=365;
        }
        sum = sum+day;
    }
    System.out.println(sum);

}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

7、循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。

package com.hz.loop;

import java.util.Scanner;

/**
 * 7、循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
 * @author ztw
 *
 */
public class Practice07 {

public static void main(String[] args) {
    int sum = 0;
    Scanner sc = new Scanner(System.in);
    //循环输出
    while(true){
        System.out.println("请输入一个数:");
        int number = sc.nextInt();
        if(number==0){
            break;
        }else{
            sum = sum+number;
        }
    }
    System.out.println("累加的结果:"+sum);
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

8、我行我素购物管理系统>生日问候 
请输入今天的日期(月/日<用两位数表示:): 05/29 
请输入客户生日:08/09 
然后判断是否今天生日 
是否继续(y/n) 
如果是y就重复以上步骤,否则退出程序*/

package com.hz.loop;

import java.util.Scanner;

/**
 * 8、我行我素购物管理系统>生日问候 
 * 请输入今天的日期(月/日<用两位数表示:): 05/29
 * 请输入客户生日:08/09 
 * 然后判断是否今天生日是否继续(y/n)
 * 如果是y就重复以上步骤,否则退出程序
 * @author ztw
 *
 */
public class Practice08 {

public static void main(String args[]){ 
    Scanner sc = new Scanner(System.in);

    for(;;){
    System.out.println("请输入今天的日期(月/日<用两位数表示:):");
    String toDay = sc.next();
    System.out.println("请输入客户生日:");
    String brithday = sc.next();
    if(toDay.equals(brithday)){
        System.out.println("生日快乐,送你一个华为手机!");
        break;
    }
    System.out.println("然后判断是否今天生日是否继续(y/n):");
    String choice = sc.next();
    if(choice.equals("y")||choice.equals("Y")){

    }else{
        break;
    }

    }
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

9、计算用户输入的日期离1900年1月1日相距多少天。(注意闰年,每个月份天数不一样)

package com.hz.loop;

import java.util.Scanner;

/**
 * 9、计算用户输入的日期离1900年1月1日相距多少天。(注意闰年,每个月份天数不一样)
 * @author ztw
 *
 */
public class Practice09 {

public static void main(String[] args)  { 

    Scanner sc = new Scanner(System.in);
    System.out.println("请输入年份:");
    //定义用户输入年份的变量year
    int year = sc.nextInt();
    System.out.println("请输入月份:");
    //定义用户输入月份的变量month
    int month = sc.nextInt();
    //定义一个初始化变量sum表示相距0天
    int sum = 0;
    for(int i=1900;i<year;i++){
        //判断输入的年份是否为闰年
        if((i%4==0&&i%100!=0)||(i%400==0)){
            sum+=366;
        }else{
            sum+=365;
        }
    }
    for(int i=1;i<month;i++){
        //判断输入的月份是否为大月
        if(i==1||i==3||i==5||i==7||i==8){
            sum+=31;
        }else if(i==2){
            //判断输入的年份是否为闰年
            if((year%4==0&&year%100!=0)||year%400==0){
                sum+=29;
            }else{
                sum+=28;
            }
        //不是大月
        }else{
            sum+=30;
        }
    }
    //输出计算结果
    System.out.println("用户输入的日期离1900年1月1日相距"+sum+"天");
    }
}
posted @ 2018-09-19 10:16  代码缔造的帝国  阅读(7381)  评论(0编辑  收藏  举报