第三周学习笔记

文章详细介绍了Java中的条件控制语句,包括if,if...else...的嵌套,三元运算符的使用,以及if格式3的场景应用。同时,文章讲解了switch语句的格式、注意事项和实际应用。此外,还涵盖了for和while循环的用法,包括循环控制、死循环、常见循环问题的解决示例,以及利用循环实现的水仙花数计算。
摘要由CSDN通过智能技术生成

if else嵌套


if 嵌套


/*

针对语句格式2

if(表达式){

语句1;

}else{

语句2;

}

if语句格式2的一种嵌套格式

if(表达式1){

if(表达式2){

语句1;

}else{

语句2;

}

}else{

if(表达式3){

语句3;

}else{

语句4;

}

}

键盘录入三个数据,获取三个数据中的最大值

*/

importjava.util.Scanner ;

classIfDemo{

publicstaticvoidmain(String[] artgs){

//创建键盘录入数据

Scannersc=newScanner(System.in) ;

//提示并录入数据

System.out.println("请您输入第一个数据:") ;

inta=sc.nextInt() ;

System.out.println("请您输入第二个数据:") ;

intb=sc.nextInt() ;

System.out.println("请您输入第三个数据:") ;

intc=sc.nextInt() ;

//三元运算符

//中间变量

inttemp= (a>b)?a:b ;

//定义结果变量接收数据

intmax= (temp>c)?temp:c ;

System.out.println("三个数据最大值是:"+max) ;

System.out.println("------------------------------") ;

//if...else...嵌套

//定义一个结果变量max2

intmax2 ;

if(a>b){

//a比b大

//嵌套if...else...

if(a>c){

//同时a比c大

max2=a ;

}else{

//c大

max2=c ;

}

}else{

//a比b小

//b和在c进行比较

if(b>c){

max2=b;

}else{

max2=c ;

}

}

//输出结果

System.out.println("三个数据最大值是:"+max2) ;

}

}

if和三元符的区别


/*

面试题

if...else...格式和三元运算符的区别?

三元运算符只是一个运算符号,不是流程控制语句,在三元中不能输出打印值,

可以操作具体的数据值(结果最终是数据值);

而if...else...流程控制语句,范围远远大于三元运算符

既可以使用具体数据值,也可以是打印内容;

三元运算符能够使用的一定能够if...else...

if...else...能够实现的,不一定能够使用三元!

键盘录入一个数据(int类型),判断数据是否是偶数!

*/

//导包

importjava.util.Scanner ;

classIfDemo2{

publicstaticvoidmain(String[] args){

//创建键盘录入对象

Scannersc =newScanner(System.in) ;

//提示并录入数据

System.out.println("请您输入一个数据:") ;

intnumber=sc.nextInt() ;

//if...else...实现

if(number%2==0){

System.out.println("是偶数") ;

}else{

System.out.println("不是偶数") ;

}

System.out.println("---------------------------") ;

//System.out.println(

//(number%2==0)?(System.out.println("是偶数")):(System.out.println("不是偶数"))

// );

//boolean s = (number%2==0)?(true):(false);

//System.out.println(s) ;

Strings = (number%2==0)?("是偶数"):("不是偶数") ;

System.out.println(s) ;

}

}

if else的第三种格式


/*

if格式3:

if(表达式1){

语句1;

}else if(表达式2){

语句2;

...

}else{

语句n;

}

流程:

)先判断表达式1是否成立,成立,则执行语句1

2)不成立,则判断表达式2是否成立,成立,执行语句2;

否则依次...进行判断

...

3)如果上面都不成立,则执行else语句,最终结束;

场景:针对多种进行判断!

需求:

键盘录入学生成绩(0-100),判断

90-100 "优秀"

80-90 "较好"

70-80 "良好"

60-70 "及格"

60以下 "不及格"

*/

//导包

importjava.util.Scanner ;

classIfDemo3{

publicstaticvoidmain(String[] args){

//创建键盘录入数据对象

Scannersc=newScanner(System.in) ;

//提示并录入数据

System.out.println("请输入学生成绩:") ;

intsocer=sc.nextInt() ;

//if格式3实现

/*

if(socer >= 90 && socer<=100){

System.out.println("该学生成绩优秀!") ;

}else if(socer>=80 && socer<90){

System.out.println("该学生成绩较好!") ;

}else if(socer>=70 && socer<80){

System.out.println("该学生成绩良好!") ;

}else if(socer>=60 && socer<70){

System.out.println("该学生成绩及格!") ;

}else{

System.out.println("不及格!") ;

}

*/

/*

测试数据的时候-----> 测试人员:编写测试用例!

1)测试边界数据

2)测试边界以内的数据

3)测试错误数据

*/

//优化

if(socer<0||socer>100){

System.out.println("录入的成绩是非法数据!") ;

}elseif(socer>=90&&socer<=100){

System.out.println("优秀!") ;

}elseif(socer>=80&&socer<90){

System.out.println("较好!") ;

}elseif(socer>=70&&socer<80){

System.out.println("良好!") ;

}elseif(socer>=60&&socer<70){

System.out.println("刚及格!") ;

}else{

System.out.println("不及格!") ;

}

}

}

/*

if格式3:

if(表达式1){

语句1;

}else if(表达式2){

语句2;

...

}else{

语句n;

}

流程:

)先判断表达式1是否成立,成立,则执行语句1

2)不成立,则判断表达式2是否成立,成立,执行语句2;

否则依次...进行判断

...

3)如果上面都不成立,则执行else语句,最终结束;

场景:针对多种进行判断!

需求:

键盘录入学生成绩(0-100),判断

90-100 "优秀"

80-90 "较好"

70-80 "良好"

60-70 "及格"

60以下 "不及格"

*/

//导包

importjava.util.Scanner ;

classIfDemo3{

publicstaticvoidmain(String[] args){

//创建键盘录入数据对象

Scannersc=newScanner(System.in) ;

//提示并录入数据

System.out.println("请输入学生成绩:") ;

intsocer=sc.nextInt() ;

//if格式3实现

/*

if(socer >= 90 && socer<=100){

System.out.println("该学生成绩优秀!") ;

}else if(socer>=80 && socer<90){

System.out.println("该学生成绩较好!") ;

}else if(socer>=70 && socer<80){

System.out.println("该学生成绩良好!") ;

}else if(socer>=60 && socer<70){

System.out.println("该学生成绩及格!") ;

}else{

System.out.println("不及格!") ;

}

*/

/*

测试数据的时候-----> 测试人员:编写测试用例!

1)测试边界数据

2)测试边界以内的数据

3)测试错误数据

*/

//优化

if(socer<0||socer>100){

System.out.println("录入的成绩是非法数据!") ;

}elseif(socer>=90&&socer<=100){

System.out.println("优秀!") ;

}elseif(socer>=80&&socer<90){

System.out.println("较好!") ;

}elseif(socer>=70&&socer<80){

System.out.println("良好!") ;

}elseif(socer>=60&&socer<70){

System.out.println("刚及格!") ;

}else{

System.out.println("不及格!") ;

}

}

}

switch


switch语句的格式


/*

switch语句格式

switch(表达式){

case 值1:

语句1;

break ;

case 值2:

语句2;

break ;

...

...

default:

语句n;

break ;

}

执行流程:

1)表达式中的值先和case值1比较,如果匹配,执行语句1,语句break,语句结束;

2)case值1不匹配,继续和case值2进行比较,如果一致,执行语句2,swich结束;

...

...

3)如果上面的case的值和表达式中的结果值都不匹配,执行default语句,

执行语句n,switch语句结束;

需求:

键盘录入一个int类型的数据,使用switch选择判断,对应的星期

1 星期一

2 星期二

3 星期三

4 星期四

5 星期五

6 星期六

7 星期日

*/

//导包

importjava.util.Scanner ;

classSwitchDemo{

publicstaticvoidmain(String[] args){

//创建键盘录入数据对象

Scannersc=newScanner(System.in) ;

intnumber=3 ;

//提示并录入数据

System.out.println("请您录入一个星期值:") ;

intweek=sc.nextInt();

switch(week){

case1:

System.out.println("星期一") ;

break ;

case2:

System.out.println("星期二") ;

break ;

case3:

System.out.println("星期三") ;

break ;

case4:

System.out.println("星期四") ;

break ;

case5:

System.out.println("星期五") ;

break ;

case6:

System.out.println("星期六") ;

break ;

case7:

System.out.println("星期日") ;

break ;

default:

System.out.println("您输入的数据非法!") ;

}

}

}

switch面试题


//看程序,写结果

classSwitchTest{

publicstaticvoidmain(String[] args){

inta=3 ,b=4 ;

switch(a){

default :

b++ ;//5

case4:

b++ ; //6

case5:

b++ ;//7

}

//b结果?

System.out.println("b:"+b) ;

System.out.println("-----------------------------");

intx=3 ,y=4 ;

switch(x){

default :

y++ ;

case3:

y++ ; //5

case4:

y++ ; //6

}

System.out.println("y:"+y);

}

}

switch面试题


/*

需求:默认int (使用switch语句实现)

键盘录入月份的值,判断季节

3,4,5 春季

6,7,8 夏季

9,10,11 秋季

12,1,2 冬季

*/

//导包

importjava.util.Scanner ;

classSwitchTest2{

publicstaticvoidmain(String[] args){

//创建键盘录入对象

Scannersc=newScanner(System.in) ;

//提示并录入数据

System.out.println("请您输入月份的值:") ;

intmonth=sc.nextInt() ;

//使用switch语句实现

/*

switch(month){

case 1:

System.out.println("冬季") ;

break ;

case 2:

System.out.println("冬季") ;

break ;

case 3:

System.out.println("春季") ;

break ;

case 4:

System.out.println("春季") ;

break ;

case 5:

System.out.println("春季") ;

break ;

case 6:

System.out.println("夏季") ;

break ;

case 7:

System.out.println("夏季") ;

break ;

case 8:

System.out.println("夏季") ;

break ;

case 9:

System.out.println("秋季") ;

break ;

case 10:

System.out.println("秋季") ;

break ;

case 11:

System.out.println("秋季") ;

break ;

case 12:

System.out.println("冬季") ;

break ;

default:

System.out.println("对不起,地球没有该月份!") ;

break ;

}

*/

//利用case穿透,简化代码

switch(month){

case3:

case4:

case5:

System.out.println("春季") ;

break ;

case6:

case7:

case8:

System.out.println("夏季") ;

break ;

case9:

case10:

case11:

System.out.println("秋季") ;

break ;

case1:

case2:

case12:

System.out.println("冬季") ;

break ;

default:

System.out.println("对不起,非法数据!地球没有该月份") ;

break ;

}

}

}

switch模拟简单选择题


/*

需求:

使用switch语句模拟单项选择题

'A'

'B'

'C'

'D'

分析:

1)先去给出一道选择题 (输出语句输出信息)

2)键盘录入(创建键盘录入对象)

3)Java中Scanner键盘录入不能录入字符,

可以录入int类型,65---'A'

66---'B'

67---'C'

68---'D'

将int---强转char

switch(字符){

case 'A':

///

break;

case 'B':

}

*/

//导包

importjava.util.Scanner ;

classSwitchTest3{

publicstaticvoidmain(String[] args){

System.out.println("<<我们结婚吧>>里面杨桃谁扮演的?") ;

System.out.println("65 张佳宁") ;

System.out.println("66 高圆圆") ;

System.out.println("67 孙俪") ;

System.out.println("68 赵丽颖") ;

//创建键盘录入对象

Scannersc=newScanner(System.in) ;

//提示并录入数据

System.out.println("请您输入一个选项:") ;

intchoiceNumber=sc.nextInt() ; //65 int---->字符 'A'

//将choiceNumber强转为char字符类型

//目标类型 变量名 = (目标类型)(初始化值或者表达式) ;

charchoice= (char)choiceNumber ;

//使用switch语句接收

switch(choice){

case'A':

System.out.println("对不起,答案错误!") ;

break ;

case'B':

System.out.println("恭喜您,答案正确!") ;

break ;

case'C':

System.out.println("对不起,答案错误!") ;

break ;

case'D':

System.out.println("对不起,答案错误!") ;

break ;

default:

System.out.println("输入的选项有误,不存在") ;

break ;

}

}

}

/*

需求:

使用switch语句模拟单项选择题

"A"

"B"

"C"

"D"

分析:

1)先去给出一道选择题 (输出语句输出信息)

2)键盘录入(创建键盘录入对象)

3)Java中Scanner键盘录入不能录入字符,

Scanner sc = new Scanner(System.in) ;

可以直接录入String

String num = sc.nextLine() ;

switch(num){ //jdk7以后,switch后面跟String字符串

case "A":

}

*/

//导包

import java.util.Scanner ;

class SwitchTest4{

public static void main(String[] args){

System.out.println("<<我们结婚吧>>里面杨桃谁扮演的?") ;

System.out.println("A 张佳宁") ;

System.out.println("B 高圆圆") ;

System.out.println("C 孙俪") ;

System.out.println("D 赵丽颖") ;

//创建键盘录入对象

Scanner sc = new Scanner(System.in) ;

//提示并录入数据

System.out.println("请您输入一个选项:") ;

String number = sc.nextLine() ; //直接录入字符串

//使用switch语句接收

switch(number){

case "A":

System.out.println("对不起,答案错误!") ;

break ;

case "B":

System.out.println("恭喜您,答案正确!") ;

break ;

case "C":

System.out.println("对不起,答案错误!") ;

break ;

case "D":

System.out.println("对不起,答案错误!") ;

break ;

default:

System.out.println("输入的选项有误,不存在") ;

break ;

}

}

}

switch使用的注意事项


/*

switch语句使用的注意事项:

1)case语句里面是有break,

如果没有书写break,会造成"case传统"

2)case语句后面的值只能是常量值,不能是变量值

(Java是一个强类型语言:语法结构很严谨)

3)关于default语句

它可以在语句中的任何位置,不影响switch语句的执行流程!

但是如果在语句中,那么break不要省略!(考点)

如果default语句它在语句的末尾,break可以省略

4)switch语句的结束条件:

1)语句break结束

2)程序默认执行到末尾!(顺序结构语句都是依次由上而下,末尾结束!)

*/

//导包

import java.util.Scanner ;

class SwtichDemo2{

public static void main(String[] args){

//创建键盘录入数据对象

Scanner sc = new Scanner(System.in) ;

int b = 3 ;

//提示并录入数据

System.out.println("请您录入一个星期值:") ;

int week = sc.nextInt();

switch(week){

/*default:

System.out.println("您输入的数据非法!") ;

//break ;

*/

case 1:

System.out.println("星期一") ;

break ;

case 2:

System.out.println("星期二") ;

break ;

//case b:

case 3:

System.out.println("星期三") ;//星期三

break

case 4:

System.out.println("星期四") ;

break ;

case 5:

System.out.println("星期五") ;

break ;

case 6:

System.out.println("星期六") ;

break ;

case 7:

System.out.println("星期日") ;

break ;

default:

System.out.println("您输入的数据非法!") ;

//break ;//可以省略,但是不建议!

}

}

}

for循环


/*

需求:

在dos控制台输出打印5次"helloworld";

见到这种代码重复性很高(冗余度很大)

java提供循环结构语句之for循环

for(初始化语句;条件表达式;控制体语句或步长语句){

循环体语句;

}

执行流程:

1)先初始化语句进行赋值

2)判断条件表达式是否成立,如果成立,执行循环体语句

2.1)继续执行控制台语句或者步长语句 对初始化语句的变量进行自增或者自减

2.2)继续判断条件表达是否成立,如果成立,按照上面 这种方式执行;

2.3)如果变量自增或者自减到条件表达式不成立为止,循环语句结束!

*/

class ForDemo{

public static void main(String[] args){

//原始的做法

System.out.println("helloworld") ;

System.out.println("helloworld") ;

System.out.println("helloworld") ;

System.out.println("helloworld") ;

System.out.println("helloworld") ;

System.out.println("--------------------------") ;

//上面代码冗余度大,优化

/*

for(初始化语句;条件表达式;控制体语句或步长语句){

循环体语句;

}

*/

for(int x = 1; x<=5 ; x++){//x=1,1<=5-->x=2,x<=5,x=3,x<=5,x=4,x<=5,x<=5,x=6,x<=5

System.out.println("helloworld") ;//第一次打印/第二次/第三次//第四次//第五次

}

}

}

for循环举例


/*

需求(for循环)

1)求1-100之间的和

2)求1-100之间的偶数和

3)求5的阶乘!

求阶乘思想和求和思想一样的

n!=n*(n-1)!....

定义一个最终结果变量

int jc = 1 ;

for(int x = 1;x <=5 ; x++){

jc *=x ; //jc = jc *x ;

}

*/

class ForTest{

public static void main(String[] args){

//求5的阶乘

//定义一个最终结果变量

int jc = 1 ;

for(int x = 2; x<=5 ;x++){ //x=2,2<=5

jc*=x ;//jc = jc * x //jc= 1*2

}

System.out.println("5阶乘是:"+jc);

System.out.println("--------------------") ;

//1)求1-100之间的和

//定义结果变量

int sum = 0 ;

for(int x = 1 ;x <=100;x++){

sum +=x ;

}

System.out.println("1-100之间的和是:"+sum) ;

System.out.println("--------------------") ;

//2)求1-100之间的偶数和

//定义结果变量

int sum2 = 0 ;

for(int x = 1 ; x<=100;x++){

if(x%2==0){

//能够被2整除

sum2 +=x ;

}

}

System.out.println("1-100之间的偶数和是:"+sum2) ;

}

}

用for循环输出1-10的所有数据


/*

需求:

1)在dos控制台打印输出1-10的所有数据!

2)在dos控制台打印输出1-10的所有数据之和!(循环)

循环中的求和思想:

定义一个结果变量:int sum = 0 ;

规律:

0 + 1 = 1 ;

1 + 2 = 3 ;

3 + 3 = 6 ;

6 + 4 = 10

10 + 5 = 15

循环中的第一个加数:sum的值

循环中的变量:就是第二个加数 ...

*/

class ForTest2{

public static void main(String[] args){

//原始的做法:

System.out.println(1) ;

System.out.println(2) ;

System.out.println(3) ;

System.out.println(4) ;

System.out.println(5) ;

System.out.println(6) ;

System.out.println(7) ;

System.out.println(8) ;

System.out.println(9) ;

System.out.println(10) ;

System.out.println("----------------------------------------") ;

//循环改进

for(int x =1; x<=10 ;x++){//x=1,1<=10

System.out.println(x) ;//1

}

System.out.println("----------------------------------------") ;

//原始的做法

System.out.println(1+2+3+4+5+6+7+8+9+10) ;

System.out.println("----------------------------------------") ;

//for循环

//定义一个结果变量

int sum = 0 ; //sum=0

for(int x = 1 ; x <=10 ; x++){//x=1,1<=10,x=2,2<=10

//循环体

//sum = sum +x;

sum += x ; // sum = 0 + 1 =1 ; sum = 1 + 2 ;

}

System.out.println("1-10的数据之和是:"+sum) ;

}

}

水仙花数


/*

需求:

在dos控制台打印输出所有的水仙花数

什么是水仙花数:

水仙花数指的是三位数,而且这个三位数每个位上的数据的立方之和是它本身

153 = 1*1*1+5*5*5 +3*3+3

分析:

1)水仙花(三位数)---已经明确了范围,使用for循环x取值 100-999

2)循环里面获取这三位数的上每个位上的数据本身 (关键点)

举例:

153 % 10 = 3 个位 %(求余数)

153 / 10 % 10 = 5 十位 去掉低位,获取低位(获取十位)

153 /10 /10 % 10 = 1 百位

定义三个变量,分别代表个位,十位,百位

int ge = x % 10 ;

int shi = x /10 %10 ;

int bai = x /10/10 %10;

2.1)满足条件 if(x==(ge*ge*ge+shi*shi*shi+bai*bai* bai)){

//输出x

}

*/

class ForTest3{

public static void main(String[] args){

System.out.println("水仙花数是:") ;

//水仙花,三位数--for循环

for(int x = 100;x<=999; x++){

//定义三个变量:ge,shi,bai

int ge = x % 10 ; // 153 %10 =3

int shi = x /10%10 ; // 153 /10%10 = 5

int bai = x /10/10 %10 ; //153 /10/10%10 = 1

//如果当前x就是ge*ge*ge+shi*shi*shi+bai*bai*bai,输出x

if(x==(ge*ge*ge+shi*shi*shi+bai*bai*bai)){

System.out.println(x) ;

}

}

}

}

/*

水仙花数是:

153

370

371

407

*/

统计水仙花的个数


/*

需求:

统计水仙花数有多少个?

循环中的统计思想:

1)定义统计变量 int count = 0 ;

2)水仙花数---明确范围 for循环 x 的取值100-999

2.1)定义三个变量,int ge = x % 10 ;

int shi = x/10 % 10 ;

int bai = x/10/10%10;

2.2)如果满足条件x==(ge*ge*ge+shi*shi*shi+bai*bai* bai)

2.3)统计变量++即可

3)输出统计变量即可!

*/

class ForTest4{

public static void main(String[] args){

//1)定义统计变量

int count = 0 ;

//2)水仙花:三位数

for(int x = 100; x<=999; x++){

//个位,百位,十位三个变量

//获取x这个数据每个位上的数据本身

int ge = x % 10;

int shi = x /10%10;

int bai = x /10/10 %10;

//2.1)如果满足条件x==(ge*ge*ge+shi*shi*shi+bai*bai* bai)

if(x==(ge*ge*ge+shi*shi*shi+bai*bai*bai)){

//2.2)统计变量++

count ++ ;

System.out.println("第"+count+"次的水仙花数是:"s+x) ;

}

}

System.out.println("水仙花数共有:"+count+"个");

}

}

while循环


while循环的概念


/*

while循环

格式:

基本格式:

while(条件表达式){

循环体语句;

控制体语句或者步长语句;

}

扩展格式:(使用多)

初始化语句:

while(条件表达式){

循环体语句;

控制体语句或者步长语句;

}

执行流程:

1)初始化语句进行变量赋值

2)判断条件表达式是否成立,

成立,执行循环体语句,依次执行控制体语句(对变量控制)

继续回到2)进行判断

...

...

3)条件表达式不满足,循环结束!

需求:在dos控制体输出打印 5次"helloworld"

需求2:

使用while循环

1)求1-100的偶数和

2)打印所有的水仙花数

3)统计水仙花数的个数

*/

class WhileDemo{

public static void main(String[] args){

/*

初始化语句:

while(条件表达式){

循环体语句;

控制体语句或者步长语句; (必须存在,否则造成"死循环")

}

*/

int x = 1 ;

while(x <= 5){

System.out.println("helloworld") ;

x++ ;//控制体语句

}

}

}

while和for的区别


/*

面试题

while和for的区别?

共同点:

都是使用循环思想解决一些问题

不同点:

1)格式本身不同

for(初始化语句;条件表达式;控制体语句){

循环体语句;

}

初始化语句;

while(条件表达式){

循环体语句;

控制体语句;

}

2)是否明确循环次数

for循环:明确循环次数优先for循环,(for还是很频繁使用的)

while循环:不明确循环次数,使用while循环

3)从内存角度考虑销毁不同:

for循环结束,里面的变量及时释放了,所以不能在访问for中的变量

whlile循环结束,依然可以访问里面变量,

所以消耗资源相对for循环大一些!

*/

class WhileDemo2{

public static void main(String[] args){

//需求:在dos控制台打印输出 5次"我爱高圆圆"

//for实现

/*

for(int x = 1 ; x <=5 ;x++){

System.out.println("我爱高圆圆") ;

}

*/

//System.out.println(x) ;

//while实现

int x = 1 ;

while(x<=5){

System.out.println("我爱高圆圆") ;

x++ ;

}

System.out.println(x) ;

}

}

常见的死循环的格式


/*

常见的两种死循环格式

for(;;){ //jdk源码中比较多

循环体...

}

while(true){ //推荐

循环体...

}

利用死循环解决一些问题!

死循环:肯定需要利用一些条件,当达到某种条件的时候,结束循环(break;中断,结束!)

*/

class WhileDemo3{

public static void main(String[] args){

/*

for(;;){

//逻辑:达到一种条件,break

System.out.println("今天很开心,学习了死循环!") ;

}

*/

//第二种格式

while(true){

//逻辑:达到一种条件,break

System.out.println("今天很开心,学习了死循环!") ;

}

}

}

while练习题


class WhileTest{

public static void main(String[] args){

//1-100偶数和

int x = 1 ;

//结果变量

int sum = 0 ;

while(x<=100){

if(x%2==0){

sum +=x ;

}

x++ ;

}

System.out.println("1-100偶数和是:"+sum) ;

System.out.println("----------------------------") ;

//打印所有水仙花数

//统计水仙花多少个

//统计变量

int count = 0 ;

int i = 100;

while(i<=999){

//定义三个变量

int ge = i % 10 ;

int shi = i /10 % 10 ;

int bai = i /10/10 % 10;

if(i ==(ge*ge*ge+shi*shi*shi+bai*bai* bai)){

count ++ ;

System.out.println("第"+count+"次的水仙花是:"+i) ;

}

i ++ ;

}

System.out.println("共有"+count+"个") ;

}

}

猜数字游戏


/*

需求:

键盘录入int类型的数据,猜数字游戏(1-100之间的数据!)

jdk提供了一个类java.lang.Math(不需要导包):数学运算的工具

random()这个函数可以获取[0.0,1.0)的随机数 (常用类讲)

分析:

1)产生一个1-100之间的随机数(利用jdk提供Math完成)--number

while(true){

2)不断的创建键盘录入对象,录入int类型的数据--guessNumber

3)判断

如果guessNumber > number ,提示数据大了

否则如果guessNumber < number ,提示数据小了

最终,一致! 结束循环,break(中断,结束);

}

*/

//导包

import java.util.Scanner ;

class WhileTest2{

public static void main(String[] args){

//先去使用Math类产生随机数--public static double random()

/*

for(int x = 1 ; x <=10 ;x++){

//0.0-1.0的随机数:取不到1.0

//double number = Math.random() ;

//1-100的随机数 int

int number = (int)(Math.random()*100+1);

System.out.println(number) ;

}

*/

//1)产生一个1-100之间的随机数(利用jdk提供Math完成)--number

int number = (int)(Math.random()*100+1) ;

System.out.println("猜数字游戏开始了...") ;

//定义一个统计变量

int count = 0 ;

while(true){

//统计变量++

count ++ ;

//2)创建键盘录入对象

Scanner sc = new Scanner(System.in ) ;

//3)提示并录入数据

System.out.println("请您输入要猜的数据:") ;

int guessNumber = sc.nextInt() ;

if(guessNumber<1 || guessNumber>100){

System.out.println("您输入的数据不合法!") ;

}else if(guessNumber > number){

System.out.println("您要猜的数据"+guessNumber+"大了") ;

}else if(guessNumber < number){

System.out.println("您要猜的数据:"+guessNumber+"小了") ;

}else{

System.out.println("恭喜您,第"+count+"次,猜对了!") ;

break ;//满足条件,结束死循环

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值