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

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

3、循环输出以下结果:
25=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);

}
}

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之间的整数!");
	}
	
	}
	
	
}
}

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(3);
		 switch(number){
		 case 0:
			 System.out.println("生成了一只白猪,我好怕怕");
			 break;
		 case 1:
			 System.out.println("生成了一只黑猪,我喜欢");
			 break;
		 case 2:
			 System.out.println("生成了一只红猪,有下酒菜了");
			 break;
			 default:
				 break;
		 }
	}
}
}

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

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

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

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+"天");
	}
}

点这里可以跳转到人工智能网站

发表评论