Java 循环语句练习题(2)
1、循环输出1到100之间所有能被3或能被4整除的数。
package com.hz.loop02;
/**
 * 1、循环输出1到100之间所有能被3或能被4整除的数。
 * @author ztw
 *
 */
public class Practice01 {
public static void main(String[] args) {
    for(int i=1;i<=100;i++){
        //判断下是否被3或能被4整除,是的话输出
        if(i%3==0||i%4==0){
            System.out.println(i);
        }
    }
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
2、循环输出200到300之间所有能被5整除,或能被2整除并且能被3整除的数。
package com.hz.loop02;
/**
 * 2、循环输出200到300之间所有能被5整除,或能被2整除并且能被3整除的数。
 * @author ztw
 *
 */
public class Practice02 {
public static void main(String[] args) {
    //输出200到300之间
    for(int i=200;i<=300;i++){
        //判断是否能被5整除,或能被2整除并且能被3整除的数
        if(i%5==0||(i%2==0&&i%3==0)){
            System.out.println(i);
        }
    }
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
3、循环输出1到2000中所有能4整除但不能被100整除的数,或能被400整除的数。
package com.hz.loop02;
/**
 * 3、循环输出1到2000中所有能4整除但不能被100整除的数,或能被400整除的数。
 * @author ztw
 *
 */
public class Practice03 {
public static void main(String[] args) {
    //循环输出1到2000
    for(int i=1;i<=2000;i++){
        //判断所有能4整除但不能被100整除的数,或能被400整除的数
        if((i%4==0&&1%100!=0)||i%400==0){
            System.out.println(i);
        }
    }
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
4、计算1+2+3+……+100的结果。
package com.hz.loop02;
/**
 * 4、计算1+2+3+……+100的结果。
 * @author ztw
 *
 */
public class Practice04 {
public static void main(String[] args) {
    //定义一个结果变量初始为0
    int sum =0;
    //i循环+1
    for(int i=1;i<=100;i++){
        //1-100自加
        sum+=i;
    }
    System.out.println("1+2+3+……+100的结果是:"+sum);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
5、计算1*2*3*……*10的结果。
package com.hz.loop02;
/**
 * 5、计算1*2*3*……*10的结果。
 * @author ztw
 *
 */
public class Practice05 {
public static void main(String[] args) {
    ////定义一个结果变量初始为1
    int sum = 1;
    //i循环+1
    for(int i=1;i<=10;i++){
        //每一次循环+1相乘
        sum=sum*i;
    }
    System.out.println("1*2*3*……*10的结果是:"+sum);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
6、计算1+1/4+1/9+….+1/(20*20)
package com.hz.loop02;
/**
 * 6、计算1+1/4+1/9+....+1/(20*20)
 * @author ztw
 *
 */
public class Practice06 {
public static void main(String[] args) {
    //定义两个变量
    int number = 1;
    double sum = 0; 
    /*
     * 循环自+1,需要注意的是分子必须?.0的模式
     */
    while(number<=20){
        sum +=1.0/(number*number);
        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
7、输入一个整数放入到变量n中,如果这个整数大于0,那么计算1+2+3+……+(n-1)+n的结果,否则输出“输入的数据有错误
package com.hz.loop02;
import java.util.Scanner;
/**
 * 
 * 7、输入一个整数放入到变量n中,如果这个整数大于0,
 * 那么计算1+2+3+……+(n-1)+n的结果,否则输出“输入的数据有错误
 * @author ztw
 *
 */
public class Practice07 {
public static void main(String[] args) {
    int sum = 0;
    Scanner sc = new Scanner(System.in);
    System.out.println("输入一个整数:");
    int n = sc.nextInt();
    if(n>0){
        for(int i=0;i<=n;i++){
            sum+=i;
        }
    }else{
        System.out.println("输入的数据有错误!");
    }
    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
- 28
- 29
8、循环输入5个学生的成绩,计算这5个学生的总分,及平均分
package com.hz.loop02;
import java.util.Scanner;
/**
 * 8、循环输入5个学生的成绩,计算这5个学生的总分,及平均分
 * @author ztw
 *
 */
public class Practice08 {
public static void main(String[] args) {
    float sum = 0;
    float avg = 0;
    Scanner sc = new Scanner(System.in);
    /*
     * 循环输出5个学生的成绩
     * 求出总成绩
     */
    for(int i=1;i<=5;i++){
        System.out.println("输入学生的成绩:");
        float sroce = sc.nextFloat();
        sum+=sroce;
    }
    //求平均成绩
    avg = sum/5;
    System.out.println("总分:"+sum+"平均分:"+avg);
}
}
- 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
9、首先要求用户输入学生的数目放入到变量n中,如果这个数大于0,那么就循环n次接收n个学生的成绩,计算总分及平均分。否则输出“学生的人数不能为负数
package com.hz.loop02;
import java.util.Scanner;
/**
 * 9、首先要求用户输入学生的数目放入到变量n中,
 * 如果这个数大于0,那么就循环n次接收n个学生的成绩,
 * 计算总分及平均分。否则输出“学生的人数不能为负数
 * @author ztw
 *
 */
public class Practice09 {
public static void main(String[] args) {
    int n = 0;
    float sum=0;
    Scanner sc = new Scanner(System.in);
    System.out.println("输入学生的数目:");
    n = sc.nextInt();
    /*
     * 判断变量n是否大于0
     * 如果大于0,则进行成绩输入并求和,否则输出”学生的人数不能为负数“
     */
    if(n>0){
        for(int i=1;i<=n;i++){
            System.out.println("输入学生的成绩:");
            float sroce = sc.nextFloat();
            sum+= sroce;
        }
        //计算平均成绩
        float avg = sum/n;
        System.out.println("总分:"+sum+"及平均分:"+avg);
    }else{
        System.out.println("学生的人数不能为负数");
    }
}
}
- 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
10、循环问“老婆,你爱我吗?”,如果回答的是“爱”,那么就结束循环,否则就继续问。用程序描述这个故事
package com.hz.loop02;
import java.util.Scanner;
/**
 * 10、循环问“老婆,你爱我吗?”,
 * 如果回答的是“爱”,那么就结束循环,
 * 否则就继续问。用程序描述这个故事
 * @author ztw
 *
 */
public class Practice10 {
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    /*
     * 循环问“老婆,你爱我吗?”,
     * 如果回答的是“爱”,那么就结束循环,
     * 否则就继续问。
     */
    for(;;){
    System.out.println("老婆,你爱我吗?");
    String choice = sc.next();
    if(choice.equals("爱")){
        System.out.println("循环结束");
        //中断,跳出循环
        break;
    }else{
    }
    }
}
}
- 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
11、循环输入字符串,将这些输入的字符串都连接起来,至到输入的字符串为“Esc”就结束循环,最后显示这个连接起来的字符串。 
比如:输入abc 输入def 输入Esc 
就输出abcdef
package com.hz.loop02;
import java.util.Scanner;
/**
 * 
 *11、循环输入字符串,将这些输入的字符串都连接起来,至到输入的字符串为“Esc”就结束循环,
 *最后显示这个连接起来的字符串。
 *比如:输入abc      输入def        输入Esc
 *就输出abcdef
 * @author ztw
 *
 */
public class Practice11 {
public static void main(String[] args) {
    String str = "";
    Scanner sc = new Scanner(System.in);
    //构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。
    StringBuffer sbuffer = new StringBuffer();
    //循环输入输出字符
    while(true){
        System.out.println("输入字符串:");
        str = sc.next();
        //判断如果str等于"Esc"
        if(str.equals("Esc")){
            break;
        }
        /*
         * 按顺序将 str参数中的字符添加到此 StringBuffer 中,
         * 并使 StringBuffer 在长度上增加该参数的长度。
         */
        sbuffer.append(str);
    }
    //输出这个连接起来的字符串
    System.out.println("连接起来的字符串:"+sbuffer.toString());
}
}
- 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
- 39
- 40
12、输入年份和月份,打印该该月份的日历,例如:输入2011年9月,就打印2011年9月的日历
package com.hz.loop02;
import java.util.Scanner;
/**
 *
 *12、输入年份和月份,打印该该月份的日历,例如:输入2011年9月,就打印2011年9月的日历
 * @author ztw
 *
 */
public class Practice12 {
public static void main(String[] args) {
    //定义表示年和月的两个变量
    int year,month;
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入年份:");
    year = sc.nextInt();
    System.out.println("请输入月份:");
    month = sc.nextInt();
    //判断输入月份是否合理
    if(month<=12&&month>=1){
    /*
     * 判断输入的年份是否为润年
     */
    if(month==1||month==3||month==5||month==7||month==8){
            for(int i=1;i<=31;i++){
                System.out.print("  "+i+"  ");
                if(i%7==0){
                    System.out.println();
                }
            }
        }else if(month==2){   
            /*
             * 判断输入的年份是否为润年
             * 闰年二月29天,否则28天
             */
            if((year%4==0&&year%100!=0)||year%400==0){
                for(int i=1;i<=29;i++){
                    System.out.print("  "+i+"  ");
                    //一行等于7,就换行
                    if(i%7==0){
                        System.out.println();
                    }
                }
            }else{
                for(int i=1;i<=28;i++){
                    System.out.print("  "+i+"  ");
                    if(i%7==0){
                        System.out.println();
                    }
                }
            }
        }else{
            for(int i=1;i<=30;i++){
                System.out.print("  "+i+"  ");
                if(i%7==0){
                    System.out.println();
                }
            }
        }
    }else{
        System.out.println("请输入合理的月份!!!");
    }
}
}
///
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class ff {
	public static void main(String[] args) {
		// 输入年份和月份,打印该该月份的日历,
		// 例如:输入2011年9月,就打印2011年9月的日历
		// 2011年9月
		// 1 2 3 4 5 6 7
		// 8
		//
		//
		// 30
//
		Scanner s = new Scanner(System.in);
		int year, month;
		System.out.print("请输入年份:");
		year = s.nextInt();
		System.out.print("请输入年份:");
		month = s.nextInt();
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		Date tmpDate=new Date();
		try {
			tmpDate = format.parse(year+"-"+month+"-"+"1");
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        Calendar cal = Calendar.getInstance();
        cal.setTime(tmpDate);        
		
		int space =cal.get(Calendar.DAY_OF_WEEK);
		
        int t;
		System.out.println(year + " 年 " + month + " 月");
		System.out.println("日\t一\t二\t三\t四\t五\t六");
		if (month > 0 && month <= 12) {
			// 31天
			if (month == 1 || month == 3 || month == 5 || month == 7
					|| month == 8 || month == 10 || month == 1) {
				
				for(int j=1;j<space;j++)
				{
					System.out.print("\t");
				}	
				t=space;
				for (int i = 1; i <= 31; i++) {
					System.out.print(i + "\t");
					
					if (t % 7 == 0)
						System.out.println();
					t++;
				}
			} else if (month == 2) {
				if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
					for (int i = 1; i <= 29; i++) {
					}
				} else {
					for (int i = 1; i <= 28; i++) {
					}
				}
			}
			// 30天
			else {
				for (int i = 1; i <= 30; i++) {
				}
			}
		} else {
			System.out.print("月份数字不合法");
		}
}
}
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号