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+"天");
    }
}
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号