作业题目(接Day02):
JAVA学习——练习题Day02
3、声明int型变量age存储你的年龄,声明double型变量price存储你今日早餐的消费金额,声明char型变量gender存储你的性别,声明boolean型变量isMerried存储你婚否的状态,输出以上变量
4、从键盘输入任意一个四位数,计算出四个数相加的和,在控制台打印出来(列如:输入1234,结果为10)
6、在控制台依次输入三个整形数字,用三元运算符找出它们中最大的数字并输出。
5、阅读下面代码,得出运算结果:
7、一张桌子5岁的男孩能推动,7岁以上的女孩能推动,写出逻辑表达式,根据输入的性别和年龄输出结果。
8、写出可以判断某一年是否是闰年的逻辑表达式(注:能被400整除或者能被4整除但不能被100整除的年份是闰年)。
9、输入一个会员号。首先判断会员号时候合法。合法的标准是:是四位正整数,如果不合法直接退出程序。其次判断输入会员号的百位数时候为4,是4的就是幸运会员,否则不是幸运会员。
10、2016年,你的工资是3000元每月,每年递增25%,问哪一年的你的工资达到每月10万元。
11、综合运用if选择结构,嵌套if选择结构、switch选择结构实现商品换购功能,效果图如下所示。
12、模拟一个QQ登陆程序,输入账号和密码进行验证(验证成功输出“登陆成功”,验证失败重新输入 (账号和密码都用数字))。
13、在控制台输出九九乘法表。
14、小明的爸爸每天给他2.5元钱,他都会存起来,从存钱开始,每过五天他就会花去6元钱,请问要到第几天小明才可以存满100元钱。
第三题:
声明int型变量age存储你的年龄,声明double型变量price存储你今日早餐的消费金额,声明char型变量gender存储你的性别,声明boolean型变量isMerried存储你婚否的状态,输出以上变量。
public static int age(int a){
//年龄方法
return a;
}
public static double price(double a){
//消费额方法
return a;
}
public static char gender(char a){
//性别方法
return a;
}
public static boolean marry(boolean a){
//婚否方法
return a;
}
public static void main(String[] args) {
System.out.println("年龄:"+age(5)+"\n"+"性别:"+gender('女')+"\n"+ "消费额:"+price(399.6)+"\n"+"婚否:"+marry(false));
输出结果:
年龄:5
性别:女
消费额:399.6
婚否:false
这道题比较简单,适合练手,不做过多说明。
第四题:
从键盘输入任意一个四位数,计算出四个数相加的和,在控制台打印出来(列如:输入1234,结果为10)
在main函数下:
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个数字:"+"\t");
int input=scanner.nextInt();
//千
int a=input/1000;
//百
int b=input/100%10;
//十
int c=input/10%10;
//个
int d=input%100%10;
//a前面的""是指连接符的意思,分别输出abcd代表的数字,如果不加""会变成第二个sout输出的abcd的相加和。
System.out.println(""+a+"\t"+b+"\t"+c+"\t"+d);
System.out.println("结果:"+a+b+c+d);
输出结果:
请输入一个数字:
1234
1 2 3 4
结果:1234
第五题:
在控制台依次输入三个整形数字,用三元运算符找出它们中最大的数字并输出。
int a = 4;int b = 6;a+=5;
b-=2;
System.out.println("a+=后的值:"+a);
System.out. println( "b+=后的值:"+b);
int c = --a;
int d = b++;
System.out.println("c的值:"+c);
System.out.println( "d的值:"+d);
输出结果:9 4 8 4
第六题:
在控制台依次输入三个整形数字,用三元运算符找出它们中最大的数字并输出。
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个数字:"+"\t");
int a1=scanner.nextInt();
System.out.println("请输入下一个数字:"+"\t");
int a2=scanner.nextInt();
System.out.println("请输入下一个数字:"+"\t");
int a3=scanner.nextInt();
//三元表达式,在a1,a2中先选出比较大的一个,再与a3比较,取出三者最大的一个。
int max=(a1>a2?a1:a2)>a3?(a1>a2?a1:a2):a3;
System.out.println("最大值为:"+max);
输出结果:
请输入一个数字:
2
请输入下一个数字:
4
请输入下一个数字:
1
最大值为:4
第七题:
一张桌子5岁的男孩能推动,7岁以上的女孩能推动,写出逻辑表达式,根据输入的性别和年龄输出结果。
public static void can(String sex,int age){
//if语句判断性别和年龄
if ((sex=="男"&&age>=5)||(sex=="女"&&age>=7)){
System.out.println("可以推动桌子");
}else {
System.out.println("不可以推动桌子");
}
}
public static void main(Srting[] args){
Day03_homework z=new Day03_homework();
z.can("男",4);
}
输出结果:
不可以推动桌子
第八题:
写出可以判断某一年是否是闰年的逻辑表达式(注:能被400整除或者能被4整除但不能被100整除的年份是闰年)
在Day02中判断日期相距多少天时已经写过。下面是链接:
第九题:
输入一个会员号。首先判断会员号时候合法。合法的标准是:是四位正整数,如果不合法直接退出程序。其次判断输入会员号的百位数时候为4,是4的就是幸运会员,否则不是幸运会员。
Scanner scanner=new Scanner(System.in);
System.out.println("请输入会员号:");
int number=scanner.nextInt();
if (number>=1000&&number<10000){
//判断会员号是否为4位正整数
System.out.println("您的会员号为:"+number);
if (number/100%10==4){
//判断百位数是否为4
System.out.println("恭喜您为幸运会员");
}
}else {
System.out.println("请输入四位正整数");
}
输出结果:
请输入会员号:
1444
您的会员号为:1444
恭喜您为幸运会员
第十题:
2016年,你的工资是3000元每月,每年递增25%,问哪一年的你的工资达到每月10万元
double z=3000;
int y=2016;
//先赋给while一个true值,进入循环
boolean g=true;
while (g){
if (z>=100000){//满足条件后输出年份。
System.out.println(y+"年");
//满足条件后给一个false值退出循环
g=false;
}
z=z*1.25;//当if条件不满足继续循环递增25%
y++;
}
输出结果:
2032年
第十一题:
综合运用if选择结构,嵌套if选择结构、switch选择结构实现商品换购功能
Scanner scanner=new Scanner(System.in);
System.out.print("请输入消费金额:");
double price=scanner.nextDouble();
//我只写了两种,后面的和方式1、2相似,复制粘贴即可
System.out.println("请选择方式:"+"\n"+"1.满50元加两元换购一瓶可乐"
+ "\n"+"2.满100元加三元换购一瓶500ml可乐"
+ "\n"+"请选择:");
int number=scanner.nextInt();
//获取number数(选择方式)
switch (number){
//当用户选择1时,判断他的消费金额是否满足条件,满足就在原有价格上加2,并输出换购项目
case 1:if (price>=50){
price=price+2;
System.out.println("你的消费金额:"+price+"\n"+"1.满50元加两元换购一瓶可乐");
break;
}else {
System.out.println("换购失败");
break;
}
case 2:if (price>=100){
//当用户选择2时,判断他的消费金额是否满足条件,满足就在原有价格上加3,并输出换购项目
price=price+3;
System.out.println("你的消费金额:"+price+"\n"+"2.满100元加三元换购一瓶500ml可乐");
break;
}else {
System.out.println("换购失败");
break;
}
}
第十二题:
模拟一个QQ登陆程序,输入账号和密码进行验证(验证成功输出“登陆成功”,验证失败重新输入 (账号和密码都用数字))
boolean t=true;//给一个true进入循环
int user=11111;//先定义一个账户和密码,模仿数据库中已存在的数据,因为现在还未学习数据库,先简单模拟一个登陆程序,也可以写两遍Scanner
int pwd=666;
Scanner scanner=new Scanner(System.in);
while (t){
System.out.println("请输入账户:");
int user1=scanner.nextInt();
System.out.println("请输入密码:");
int pwd1=scanner.nextInt();
if (user==user1&&pwd==pwd1){
t=false;
System.out.println("登陆成功");
}else {
System.out.println("账户和密码错误,请重新输入");
}
//当账号密码错误时候,重新进入循环输入账号密码
}
输出结果:
请输入账户:
111
请输入密码:
666
账户和密码错误,请重新输入
请输入账户:
11111
请输入密码:
666
登陆成功
第十三题:
九九乘法表
算法思想:运用两个for循环分别代表行和列,相乘出结果就可以了。
i为行,j为列。先进行的循环,再进行列的循环,当列大于行时候停止,进行下一行的输出
for(int i = 1; i <= 9; i++) {
for(int j = 1; j <= 9; j++){
if(j > i){
break;
}
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
第十四题:
小明的爸爸每天给他2.5元钱,他都会存起来,从存钱开始,每过五天他就会花去6元钱,请问要到第几天小明才可以存满100元钱。
int j=0;
double i=0;
boolean m=true;
while (m){
i=i+2.5;
j+=1;
if (j%5==0){
i=i-6;
if (i>=100){
System.out.println("小明存满100元的时间:"+j);
System.out.println("小明存储的金额:"+i);
m=false;
}
} else if (i >= 100) {
System.out.println("小明存满100元的时间:"+j);
System.out.println("小明存储的金额:"+i);
m=false;
}
}
输出结果:
小明存满100元的时间:74
小明存储的金额:101.0
附加题:
编写一个猜拳游戏,人机和玩家相互猜拳。游戏规则:三局两胜
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("欢迎来到猜拳游戏"+"\n"+"游戏规则:三局两胜");
boolean b=true;
boolean b1=true;
// 用户赢的次数
int user_win=0;
// 电脑赢的次数
int computer_win=0;
while (b){//大的循环,从选择游戏开始进行循环
System.out.println("请选择"+"\n"+"1.开始游戏"+"2.退出");
System.out.print("");//print不换行 println换行
int choose1=scanner.nextInt();
if (choose1==1){
while (b1) {//小环节的循环,从选择出拳开始进行循环
int res=startgame(scanner);//获得结果
if (res==1){//定义res为1时候是为用户获胜,具体查看res方法
user_win+=1;
if (user_win==2){
System.out.println("*************"+"用户获得最终胜利!!!"+"*************");
user_win=0;
b1=false;
b=false;
}
}else if (res==2){//res为2时候是小场次电脑获胜
computer_win+=1;
if (computer_win==2){
System.out.println("****************"+"\n"+"电脑获得最终胜利!!!"+"\n"+"****************");
computer_win=0;
b1=false;
b=false;
}
} else if (res== 3) {//继续开始游戏
startgame(scanner);
}
}
}else if(choose1==2)
{
exitGame();//大循环的选择,如果选择退出游戏,那么执行exitGame方法
}else {
System.out.println("请重新选择");
}
}
}
// 开始游戏
public static int startgame(Scanner scanner){
System.out.println("请玩家出拳:"+"\n"+"1.石头 2.剪刀 3.布");
System.out.println("电脑随机出拳");
int userChoose=uesrChoose(scanner);
int computerChoose=computerChoose();
// 单次猜拳结果(0为平局,1为用户赢,2为电脑赢,3为输入错误)
int res=getResult(userChoose,computerChoose);
return res;
}
public static void exitGame(){
//b=false;
/*
*如果想按2退出大循环,那么需要将boolean b=ture;放在main函数外并加上static
*在exitGame中写上b=false就会退出游戏循环
*因为想一直循环游戏,故在退出游戏方法中为空。
*/
}
// 用户出拳
public static int uesrChoose(Scanner scanner){
int uesrChoose1=scanner.nextInt();
return uesrChoose1;
}
// 电脑出拳
public static int computerChoose(){
int computerChoose1=(int)(Math.random()*3)+1; //random取0~1取不到1
return computerChoose1;
}
//判断用户胜利还是电脑胜利
public static int getResult(int userChoose,int computerChoose){
switch (userChoose){
case 1:
if (computerChoose==1){
System.out.println("用户石头"+"\n"+"电脑出的石头"+"\n"+"结果:平局");
return 0;
}else if (computerChoose==2) {
System.out.println("用户石头" + "\n" + "电脑出的剪刀" + "\n" + "结果:用户赢");
return 1;
}else{
System.out.println("用户石头"+"\n"+"电脑出的布"+"\n"+"结果:电脑赢");
return 2;
}
case 2:
if (computerChoose==1){
System.out.println("用户剪刀"+"\n"+"电脑出的石头"+"\n"+"结果:电脑赢");
return 2;
}else if (computerChoose==2) {
System.out.println("用户剪刀" + "\n" + "电脑出的剪刀" + "\n" + "结果:平局");
return 0;
}else{
System.out.println("用户剪刀"+"\n"+"电脑出的布"+"\n"+"结果:用户赢");
return 1;
}
case 3:
if (computerChoose==1){
System.out.println("用户布"+"\n"+"电脑出的石头"+"\n"+"结果:用户赢");
return 1;
}else if (computerChoose==2) {
System.out.println("用户布" + "\n" + "电脑出的剪刀" + "\n" + "结果:电脑赢");
return 2;
}else{
System.out.println("用户布"+"\n"+"电脑出的布"+"\n"+"结果:平局");
return 0;
}
default:
return 3;
}
输出结果:
欢迎来到猜拳游戏
游戏规则:三局两胜
请选择
1.开始游戏2.退出
1
请玩家出拳:
1.石头 2.剪刀 3.布
电脑随机出拳
1
用户石头
电脑出的剪刀
结果:用户赢
请玩家出拳:
1.石头 2.剪刀 3.布
电脑随机出拳
1
用户石头
电脑出的布
结果:电脑赢
请玩家出拳:
1.石头 2.剪刀 3.布
电脑随机出拳
1
用户石头
电脑出的石头
结果:平局
请玩家出拳:
1.石头 2.剪刀 3.布
电脑随机出拳
1
用户石头
电脑出的剪刀
结果:用户赢
*************用户获得最终胜利!!!*************