第4章 java课后作业 - 数组 联系客服

第4张 课后作业_数组

知识点:一维数组、二维数组 一、填空及选择:

1. 数组元素的小标总是从___0___开始。

2. 对于数组int[][]={{1,2,3},{4,5,6}}来说,t.length等于__2____,t[0].length等于___3__。 3. 已知数组a的定义为“int a[]={1,2,3,4,5};”,则a[2]=__3__,数组b的定义为“int b[]=new

int[5];”,则b[2]=__ 0___,数组c的定义为“Object [] c=new Object[5];”,则c[2]=_____。 4. 调用数组元素时,用__数组名__和__元素下标___来唯一确定数组中的元素。 5. 下列___C__语句有错误

A.int [] a; B.int [] b=new int[10]; C. int []c=new int[]; D.int d[]=null;

6. 下列___D__语句有错误

A.int a[][]=new int[5][5]; B.int [][] b=new int[5][5]; C.int []c[]=new int[5][5]; D.int [][]d=new int[5,5]; 7. 关于下面的程序,正确的结论是___A__

public class Demo1{

public static void main(String [] args){ int a[]=new int[5];

boolean b[]=new boolean[5]; //布尔值自动初始化为false System.out.println(a[1]); System.out.println(b[2]); } }

A.运行结果为0 false B.运行结果为1 true

C.程序无法编译 D.可以通过编译但结果不确定

二、编程题:

1. 2. 3. 4. 5.

定义一个整数定义的数组,求奇数个数和偶数个数。

用20个整数初始化数组,只是输出前10个数。用break控制 计算10~20的整数的平方值,将结果保存在一个数组中。

编写一个程序使之从键盘读入10个整数存入整型数组a中,然后逆序输出这10个数。 某人有5张3分和4张5分的邮票,请编写一个程序,计算由这些邮票中的1张或若干张可以得到多少不同的邮资。

6. 用冒泡法对10个不同的数进行排序(有小到大) 7. 设计一程序:

a) 使其建立一个二维字符串数组名为javadays,其中每一维分别代表2008年

[月][日],其值为星期几,例如:2008年7月22日星期几可以下列方式取得javadays[6][21]→星期二,程序最后以随机数方式随机抽今年的10个日子,并显示星期几。P.S.注意每月的天数不同。

b) 请使用replaceAll方法将上一题的「星期二」取代为「Tuesday」,其它以此类推。 8. 定义一个长度为10的整型数组,循环输入10个整数。然后再使用循环查找出此数组中的最大及最小值. 参考答案:

import java.util.*; public class WeekTest {

private String[][] javadays=new String[12][31];

public WeekTest(){ String[] weeks=new String[]{\星期日\星期一\星期二\星期三\星期四\星期五\星期六\

for(int i=0;i<12;i++){ for(int j=0;j<31;j++){

GregorianCalendar gc=new GregorianCalendar(); gc.setLenient(false); try{

gc.set(2008,i,j+1);

int week=gc.get(Calendar.DAY_OF_WEEK); javadays[i][j]=new String(weeks[week-1]); }catch(Exception e){} } } }

public void randomPrint(){

HashSet hs=new HashSet(); while(true){

if(hs.size()==10) break;

int day=((int)(Math.random()*1000))66; if(hs.contains(new Integer(day))) continue;

hs.add(new Integer(day)); }

for(Integer day:hs){

GregorianCalendar gc=new GregorianCalendar(2008,0,1); gc.add(Calendar.DATE,day.intValue()); int month=gc.get(Calendar.MONTH)+1; int date=gc.get(Calendar.DAY_OF_MONTH);

System.out.println(\年\月\日\\t\ } }

public void replaceAll(){

String[][] weekStr=new String[2][];

weekStr[0]=new String[]{\星期日\星期一\星期二\星期三\星期四\星期五\星期六\

weekStr[1]=new

String[]{\};

for(int i=0;i<12;i++){ for(int j=0;j<31;j++){ for(int k=0;k<7;k++){

if(javadays[i][j]!=null && javadays[i][j].equals(weekStr[0][k])) javadays[i][j]=new String(weekStr[1][k]); } } } }

public static void main(String[] args) { WeekTest wt=new WeekTest(); wt.randomPrint(); wt.replaceAll(); wt.randomPrint(); } }