数组查漏补缺及综合题

数组初始化默认值

数据类型默认值
整数 byte.short.int.long0
浮点数 float.double0.0
布尔 booleanfalse
字符 char空字符
引用数据类型 Stringnull

静态初始化应用

如果数组的定义和初始化分开进行,那么只能使用完整版本来初始化数组,不能使用简化版

动态初始化VS静态初始化

动态初始化:手动指定数组长度,系统给出默认初始化值
需要确定数组的长度,内容确定不了的情况下使用动态初始化
静态初始化:手动指定数组元素,系统根据元素个数,自动计算数组长度
需要确认数组元素,个数不重要可以使用静态初始化

数组遍历

当数组的遍历条件是写死的时候希望能够动态的获取数组的长度,可以通过数组对象.length获取数组的长度

题目一

通过键盘录入的方式输入星期数(1-7的整数),显示今天的减肥活动,使用switch和if两种判断语句分别完成。(可写成2个方法)
​ 周一:跑步
​ 周二:游泳
​ 周三:慢走
​ 周四:动感单车
​ 周五:拳击
​ 周六:爬山
​ 周日:好好吃一顿

public class Test1{
public static void main(String[] args) {
//键盘录入一个星期数,用一个变量接收
Scanner sc = new Scanner(System.in);
System.out.println(“请输入一个星期数:”);
int week = sc.nextInt();
//对星期数进行判断,这里用 if 语句实现
if (week < 1 || week > 7) {
System.out.println(“你输入的星期数有误”);
} else if (week == 1) {
System.out.println(“跑步”);
} else if (week == 2) {
System.out.println(“游泳”);
} else if (week == 3) {
System.out.println(“慢走”);
} else if (week == 4) {
System.out.println(“动感单车”);
} else if (week == 5) {
System.out.println(“拳击”);
} else if (week == 6) {
System.out.println(“爬山”);
} else {
System.out.println(“好好吃一顿”);
}
}
}
public class Test2{
public static void main(String[ ] args) {
//键盘录入一个星期数,用一个变量接收
Scanner sc = new Scanner(System.in);
System.out.println(“请输入一个星期数:”);
int week = sc.nextInt();
//对星期数进行判断,这里用 switch 语句实现
switch (week) {
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;
default:
System.out.println(“你输入的星期数有误”);
}
}
}

题目二

朋友聚会的时候可能会玩一个游戏:逢七过。
规则是:从任意一个数字开始报数,当你要报的数字包含7或者是7的倍数时都要说:过。
为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印出1-100之间的满足逢七必过规则的数据。
这样,大家将来在玩游戏的时候,就知道哪些数据要说:过。
public class Test3{
public static void main(String[ ] args) {
int count = 0;
int j = 1;
for (int i = 1; i < 101; i++) {
//i % 7 != 0是对七的倍数进行判断
//i / 10 != 7是对十位数含7的数进行判断
//i % 10 != 7是对个位数是七的数进行判断
if (i % 7 != 0 && i / 10 != 7 && i % 10 != 7){
if (j%10==0){
//每排显示十个数
System.out.print(i+" “);//取余是10的倍数输出并换行,也就是逢10就换行
System.out.println();
}else {
System.out.print(i+” ");
}
j++;
count++;
}
}
System.out.println();
System.out.println(“不是七的倍数也不含七的数有:”+count+“个”);
}
}

题目三

有一个很有名的数学逻辑题叫做不死神兔问题。有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?
public class Test4{
public static void main(String[] args) {
int[] arr=new int[20];
arr[0]=1;
arr[1]=1;
for(int i=2;i<arr.length;i++) {
arr[i] = arr[i-1] + arr[i-2];
}
System.out.println(“第二十个月的兔子对数为:”+arr[19]);
}
}

题目四

我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
import java.util.Scanner;
public class Test5{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int money = sc.nextInt();
for(int i=1;i<=money/5;++i){
for(int j=1;j<(money-i5)/3;++j){
int k = (money-i
5-j*3)*3;
if(i+j+k==money){

   System.out.println("公鸡:"+i+"只,母鸡:"+j+"只,小鸡:"+k+"只");     
            }               
        }
    }
}

}
}
}

  • 32
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值