java数组练习题

java数组练习题

一、选择

  1. 下列数组声明的语法格式不正确的是()
    A. int[ ] array;   B. int array[ ];   C. char[ ];   D. String[ ] strArray;

C

  1. 已知一个长度为10的数组b,数组b的第三个元素表示为?
    A. b[3]   B. b(3)   C. b[2]   D. b(2)

C

  1. 当数组下标越界时,会发生()
    A. 系统崩溃   B. 直接跳过   C. 抛出异常   D. 中止程序

C

  1. 下面代码的运行结果为:()
    A. 55,8,5,   B. 5,8,55,   C. 8,5,55   D. 5,8,55
	public static void main(String[] args){
		int[] score = new int[3];
		score[2] = 5;
		score[1] = 8;
		score[0] = 55;
		for (int i = 0;i <score.length;i++) {
			System.out.print(score[i] + ",");
		}
	}

A

  1. 下面代码的运行结果为:()
    A. 4   B. 12   C. 0   D. 13
	public static void main(String[] args){
		int[] arr = {1,3,9};
		int sum = 0;
		for (int i = 0;i < arr.length;i++) {
			sum = sum +arr[i];
		}
		System.out.println(sum);
	}

D

  1. 下面程序的运行结果是?
    A. 30   B. 60   C. 50   D. 20
	public static void main(String[] args){
		int x = 30;
		int[] a = new int[x];
		x = 60;
		System.out.println(a.length);
	}

A

  1. 以下关于二维数组创建对象的语法,错误的是?(多选)
    A. char[ ][ ] ch=new char[ ][ ] ;   B. char ch[ ][ ]=new char[3][5];   C. char[ ] ch[ ]=new char[3][ ];   D. char[ ][ ] ch=new char[ ][5];

AD

  1. 下列哪个选项是给二维数组的第一行第一列的元素赋值的。
    A. sum[ ][ ] = 3;   B. num[1][ ] = 3;   C. num[1][1] = 3;   D. sum[0][0] = 3;

D

  1. 以下代码的输出结果为?
    A. 2 4   B. 3 4   C. 3 3   D. 4 4
	public static void main(String[] args){
		char[][] ch = {{'a'},{'b','c','d'},{'e','f'},{'g','h','i','j'}};
		System.out.print(ch[2].length + " ");
		System.out.print(ch.length);
	}

A

  1. 下列数组有几行几列()
    A. 三行五列   B. 五行五列   C. 三行三列   D. 五行三列
int[][] arr = {{'1','2','3'},{'2','3','4'},{'3','4','5'},{'6','7','8'},{'1','4','6'}};

D

二、编程

  1. 求数组中能被3整除的元素并打印输出。
public class  ArrayDemo {
	public static void main(String[] args){
		//定义一个整型数组,并初始化     
		int[] arr = {1,5,6,8,10,12,13,15,20};
		//循环遍历数组,找出能被3整除的元素并打印输出    
		for (int i = 0;i < arr.length;i++) {
			if(arr[i] % 3 == 0){
				System.out.println(arr[i]);
			}
		}
	}
}
  1. 在一个二维数组中存放了三名学生的语文和数学的成绩,分别求语文和数学的总成绩及平均分并 输出。
public class ScoreDemo {
	public static void main(String[] args){
		 //定义一个三行两列的整型二维数组intArray 
		 double[][] intArray = new double[3][2];
	     //自定义并保存三个学生的语文与数学成绩
		 intArray[0][0] = 92;
		 intArray[0][1] = 98;
		 intArray[1][0] = 95;
		 intArray[1][1] = 85;
		 intArray[2][0] = 81;
		 intArray[2][1] = 78;
		 //定义语文,数学总成绩和平均分变量
		 double chSum = 0;
		 double chAverage = 0;
		 double mathSum = 0;
		 double mathAverage = 0;
	     //求语文的总成绩和平均分 
		 for (int i = 0;i < intArray.length;i++) {
			 chSum += intArray[i][0];
		 }
		 chAverage = chSum / intArray.length;
		 System.out.println("语文总成绩:" + chSum);
		 System.out.println("语文平均分:" + chAverage);
	     //求数学的总成绩和平均分
		 for (int i = 0;i < intArray.length;i++) {
			 mathSum += intArray[i][1];
		 }
		 mathAverage = mathSum / intArray.length;
		 System.out.println("数学总成绩:" + mathSum);
		 System.out.println("数学平均分:" + mathAverage);
	}
}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数组章节作业 1、将一个数组的元素倒排过来,不能新开一个数组的临时存储空 间,只能在原数组上改。 2、写一个类用来模拟栈这种数据结构,要求底层 使用数组存储数据, 并给出相应的进栈和出栈的方法。MyStack int arr[]; int count;//栈元素个数 public MyStack(int n){ arr = new int[n]; } boolean push(int num){ if(count==arr.length){} arr[count++]=num; } int pop(){ if(count==0){ return -1;} return arr[--count]; } 3、实现在一个数组位置添加元素和删除元素的功能。 1、数组容量问题? 2、添加元素前后数组元素的变化 3、删除元素前后数组元素的变化 面向对象章节作业 1,写一个类,名为Animal,该类有两个私有属性, name(代表动物的名字),和legs(代表动物的腿的条 数)。并提供个两构造方法,一个无参,默认给name 赋值为AAA,给legs赋值为4;另一个需要两个参数, 分别用这两个参数给私有属性赋值。该类还有两个重载的move()方法,其一个无参,在屏幕上输出一行文字: XXX Moving!!(XXX为该动物的名字);另一个需要一个int参数n,在屏幕上输出n次 XXX Moving!! 2,写一个类Person,包含以下属性:String name; int age; boolean gender; Person partner。 为Person类写一个marry(Person p)方法,代表当前 对象和p结婚,如若可以结婚,则输出恭贺信息, 否则输出不能结婚原因。要求在另外一个类写一 个主方法,来测试以上程序。(下列情况不能结婚: 结婚年龄,男<24,女<22;3,某一方已婚) 3,写一个类,名为Animal,该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public 的访问方法。并提个两构造方法,一个无参,默认给name赋值为AAA,给legs赋值为4;另一个需要两个参数,分别用这两个参数给私有属性赋值。要求在第一个构造方法调用第二个构造方法。该类还有两个重载的move()方法,其一个无参,在屏幕上输出一行文字: XXX Moving!!(XXX为该动物的名字);另一个需要一个int参数n,在屏幕上输出n次 XXX Moving!! 4,写一个类Fish,继承自Animal类,并提供一个构造方法,该构造方法需要一个参数name,并给legs赋默认值0;该类还要求覆盖Animal类的无参move()方法,要求输出:XXX Swimming!! 5,写一个类Bird,继承自Animal类,并提供一个构造方法,该构造方法需要一个参数name,并给legs赋默认值2;该类还要求覆盖Animal类的无参move()方法,要求输出:XXX Flying!! 6,写一个类Zoo,要求分别生成若干个Animal,Fish和Bird。并调用他们的属性和方法。 7,写Shape类,要求如下: 1.int类型属性x和y,分别表示图形的心点坐标 2.无参构造器 3.构造器,对x和y进行初始化 4.draw()方法,输出"Shape draw" 写Circle类,继承Shape类,要求如下 1.double类型属性r,表示圆的半径 2.无参构造器,将r初始化为1.0 3.构造器,对r进行初始化 4.构造器,对x、y、r进行初始化 5.draw()方法,输出"draw in circle"和x,y,r的值 写Rectangle类,继承Shape类,要求如下 1.double类型属性height和width,表示矩形的高和宽 2.无参构造器,将height和width都初始化为1.0 3.构造器,对height和width进行初始化 4.构造器,对x、y、height、width进行初始化 5.draw()方法,输出"draw in rectangle"和x,y,height,width的值 使用ShapeTest类测试以上代码。 8,某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(int month) 根据参数月份来确工资,如果该月员工过生日,则公司会额外奖励100元。 SalariedEmployee:Employee的子类,拿固工资的员工。属性:月薪 HourlyEmployee:Employee的子类,按小时拿工资的员工,每月工作超出160小时的部分按照1.5倍工资发放。属性:每小时的工资、每月工作的小时数 SalesEmployee:Employee的子类,销售人员,工资由月销售额和提成率决。属性:月销售额、提成率 BasedPlusSalesEmployee:SalesEmployee的子类,有固底薪的销售人员,工资由底薪加上销售提成部分。属性:底薪。 写一个程序,把若干各种类型的员工放在一个Employee数组里,写一个函数,打印出某月每个员工的工资数额。注意:要求把每个类都做成完全封装,不允许非私有化属性。 容器类章节作业 1、写MyStack类,实现栈功能。在类使用ArrayList保存数据。 2、使用TreeSet和Comparator,写TreeSetTest1 要求:对TreeSet的元素"HashSet"、"ArrayList"、"TreeMap"、"HashMap"、"TreeSet"、"LinkedList"进行升序和倒序排列 3、使用TreeSet和Comparator,写TreeSetTest2 要求:对TreeSet的元素1,2,3,4,5,6,7,8,9,10进行排列,排序逻辑为奇数在前偶数在后,奇数按照升序排列,偶数按照降序排列 4、使用TreeSet和Comparator,写TreeSetTestInner 要求: 对TreeSet的元素"HashSet"、"ArrayList"、"TreeMap"、"HashMap"、"TreeSet"、"LinkedList"进行升序和倒序排列 1. 使用匿名内部类实现 2. 使用静态内部类实现

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值