第三天学习知识循环-while--do while--for循环,课堂练习

import java.util.Random;
import java.util.Scanner;

public class Day3 {

public static void main(String[] args) {
	new Day3().text1();
	new Day3().text2();
	new Day3().text3();
	new Day3().run1();
	new Day3().run2();
	new Day3().run3();
	new Day3().run4();
	new Day3().run5();
	new Day3().run6();
	
}
public void text1(){
	//循环

// 当我们需要重复做一件事情的时候,或者对同一个事物,需要重复做一件事的时候

		Scanner sc = new Scanner(System.in);
		int j = sc.nextInt();
	
	for(int i=0;i<j; i++){
		System.out.println("我是lxj");
	}

}

//while 循环

//while 循环 先判断后执行
// 初始值
// while(表达式){
// i++;
// i–
// }

// 常用场景
// while(true)
// if(1==1){
// break;
// }
//

public void text2(){
	int i = 0;
	while(i<5){
		System.out.println(i);
		i++;			
	}
	
}

//do while

//do while 先执行,后判断

public void text3(){
	int sum = 0;
	int i = 0;
	do{
		sum += i;
		i++;
	}while(i<=100);
	System.out.println(sum);
	
}

//课堂练习1 现在有一个银行的保险柜,有两道密码

	//现在有一个银行的保险柜,有两道密码

// 想要拿到钱,必须输入两次密码,而且都要正确
// 如果第一道密码不正确,直接拦截在外面
// 如果第一道密码不正确,那么需要重新输入,第二次密码
// 只有两次密码都成功,才能拿到钱
// 写一个程序
// 首先,如果没有输入到正确密码,就一直输入(最外层的循环是一个死循环)
// 有两个密码是默认值 111111 222222
// Scanner
// 在循环体里面输
// Break

// if(第一个密码成功){
// for(){
// 输入
// if(第二个密码成功){
// “钱收到了”
// break;
// }
// }
// }

public void run1(){
	Scanner s = new Scanner(System.in);
	System.out.println("请输入第一道密码:");
	int num1 = s.nextInt();
	if(num1 != 111111){ 
		 run1();
	}	
	for(;;){
		System.out.println("请输入第二道密码:");
		int num2 = s.nextInt();
		if(num2 == 222222){
		 break;
		}	
	}
	System.out.println("取到钱啦!");
	
}	

//课堂练习2 随机出现一个电视的价格(2000-10000)之间

//随机出现一个电视的价格(2000-10000)之间
// 用户有5次竞猜机会,如果在5次之内猜中,则可以获得该商品
// 如果超过五次,显示“很可惜,没有中奖”,
// 倒计时 告诉用户还有几次机会

public void run2(){
	System.out.println("亲,你只有五次机会哦~");
	Scanner s = new Scanner(System.in);
	Random ran = new Random();
	int num = ran.nextInt(8000)+2000;
	System.out.println(num);
	boolean flag = true;
	for(int j = 5;j>0;j--){
		System.out.println("亲,目前你还有"+j+"次机会,请输入价格!");			
		int a = s.nextInt();
		if(a == num){
			System.out.println("恭喜你答对啦!请咨询工作人员领奖!");
			flag = false;
			break;
		}else{
		System.out.println("不是这个价格哦!");
		}
	}
	if(flag){
	System.out.println("很可惜,机会用完,没有中奖!");
	}
}

//课堂练习3 1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + 1/13…1/99

//1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + 1/13…1/99

public void run3(){
	double sum = 0;
	double j = 1;
	for (j=1;j<100;){	
		sum = 1/j-1/(j+2)+sum;//每2个数分成一组
		j= j+4;
	}
	System.out.println(sum);

// 方法二
// boolean flag = true ;
// double sum = 0;
// for(int i=1;i<=99;i+=2){
// if(flag){
// sum += 1.0/i;
// }else{
// sum -= 1.0/i;
// }
// flag = !flag;
// }
// System.out.println(sum);

}

//课堂练习4 生成一个0-20的随机数,直到随机到5为止

// 生成一个0-20的随机数,直到随机到5为止,
// 统计一共随机了多少次
// while循环来做

public void run4(){
	Random ran = new Random();
	int count = 0;
	while(true){
		int num = ran.nextInt(20);
		count++;
		if(num == 5){
			System.out.println("一共循环了"+count+"次");
			break;
		}
	}
}

//课堂练习5 古典问题:有一对兔子,从出生后第3个月起,每个月都出生一对兔子,小
//兔子长到第三个月后每个月又生出一对兔子,假如这些兔子都不死,问每个月兔子的总
//数是多少,第十个月

//月数 1 2 3 4 5 6 7 8 9
//兔子1 1 2 3 5 8 13 21 34

public void run5(){
	
	int i = 0;
	int j = 1;
	int sum = 0;
	int month = 1;
	System.out.println(month+"月有"+1);
	while(month<10){
		sum = i + j;
		i = j;
		j = sum;
		month++;
		System.out.println(month+"月有"+sum);
	}
}

//课堂练习6 打印*号直角三角形 等腰三角形

public void run6(){
	int i = 0;
	int j = 0;
	int k = 0;
	int p = 0;
	Scanner s = new Scanner(System.in);
	System.out.println("请输入行数:");
	int n = s.nextInt();
	for(i=1;i<n+1;i++){//直角三角形
		for(j=0;j<i;j++){
			System.out.print("*");
		}System.out.println();
	}	

	 p = 0;
	for(i=n;i>0;i--){//等腰三角形
		p++;
		for(j=0;j<i;j++){
			System.out.print(" ");				
		}
		for(k=0;k<2*p-1;k++){
			System.out.print("*");
		}
		System.out.println();
	}
	

	 p = 0;
	for(i=n;i>0;i--){//菱形
		p++;
		for(j=0;j<i;j++){
			System.out.print(" ");				
		}
		for(k=0;k<2*p-1;k++){
			System.out.print("*");
		}
		for(j=0;j<i;j++){
			System.out.print("**");				
		}
		System.out.println();
		}
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值