数组练习题

# 作业:

### 看程序写结果写出结果

class Demo{​

public static void main(String[] args){​ String foo="blue"; ​

boolean[] bar=new boolean[2];

​ if(bar[0]){ ​ foo="green"; } ​ System.out.println(foo);//​ }}

blue

### 下面哪个数组定义是否是错误的,如果是错误的,写出错误的原因。

A,float[] a= new float[3]; //正确

B,float f2[ ]= new float[];//错,没有定义数组大小

C,float[] f1 = new float[3];//正确

D,boolean[] b = {"true","false","true"};//正确E,double f4[] = {1,3,5}; //正确

F,int f5[] = new int[]{2,3,4}; //正确

G,float f4[ ]= {1.2F,3.0,5.4};//错误,3.0和5.4是double类型的数据,与float类型不统一

## 1.把一个数组的元素逆序交换, int[] a = { 5, 11, 15, 24, 36, 47, 59, 66 };交换元素后int[] a = { 66 ,59 ,47 ,36 ,24,15 ,11 ,5 };

```public class H1 {

public static void main(String[] args){

//int[] a = { 5, 11, 15, 24, 36, 47, 59, 66 };

//交换元素后

//int[] a = { 66 ,59 ,47 ,36 ,24,15 ,11 ,5 };

int[] a = { 5, 11, 15, 24, 36, 47, 59, 66 };

for (int i = 0; i < a.length-1; i++) {

for (int j = i+1; j < a.length; j++) {

int temp = a[j];

a[j] = a[i];

a[i] = temp; } } System.out.println(Arrays.toString(a)); }}```

## 2.现在有如下一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; 要求将以上数组中的0项去掉,将不为0的值存入一个新的数组

public class H1 {

public static void main(String[] args){

// int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

// 要求将以上数组中的0项去掉,将不为0的值存入一个新的数组

int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; int[] a = new int[12];

for (int i = 0,j=0; i < oldArr.length; i++) { if(oldArr[i]!=0){

a[j]=oldArr[i]; j++; } } System.out.println(Arrays.toString(a)); }}##

3.有一个数组 int[] array = {7,3,6,5,4,5,2,1,9}; 使用折半查找法判断数组是否包含2.

```public class H1 {

public static void main(String[] args){

// 3.有一个数组 int[] array = {7,3,6,5,4,5,2,1,9}; 使用折半查找法判断数组是否包含2.

int[] array = {7,3,6,5,4,5,2,1,9};

int left=0,right=0,mid=0;

while (array[left]<=array[right]){

mid=(array[left]+array[right])/2;

if (2<array[mid]){

array[right]=array[mid]; }

else if (2>array[mid]){ array[left]=array[mid]+1; }

else if (2==array[mid]){ System.out.println("数组里包含"+array[mid]);break; }

else { System.out.println("数组不包含2"); } } }}```

## 4.任意一个人输入年龄,就可以判断出他是哪个年龄段的人?0-9 儿童10-19 少年20-29 青少年30-39 青年40-49 壮年50-59 中年60-69 中老年70-79 老年80-89 老老年90-99 老老老年使用数组实现完成

```public class H1 {

public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入年龄");

int age = sc.nextInt();

int s = age/10;

String[] a = new String[]{"儿童","少年","青少年","青年","壮年","中年","中老年","老年","老老年","老老老年"};

System.out.println(a[s]); }}

 

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值