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